xC on xcore.ai

Technical questions regarding the XTC tools and programming with XMOS.
Post Reply
User avatar
aclassifier
Respected Member
Posts: 483
Joined: Wed Apr 25, 2012 8:52 pm
Contact:

xC on xcore.ai

Post by aclassifier »

I wonder what will be the role of xC for the user for xcore.ai. I have tried to scribble down something in [1], chapter "What me worrying about the role of XC?". I will summarise here:

For one, looking at the lib_rtos_support which is a software library that provides support for running an RTOS on xCORE. Any RTOS. And libraries like lib_i2c are still in xC and unchanged for xcore.ai. With that in mind I would think that xTIMEcomposer would be as is, just adding the FreeRTOS library, to take portability one step up.

One the other hand, XMOS does not mention XC. Not in the initial info, and not now.

Mark Lippet says in [2] (in the context of Neuromorphic Computing) that
Lippett also said any technology that involves a change in the way people think about programming systems will be faced with challenges when it comes to market. Even the Xcore, though based on a RISC architecture, faced market challenges. Lippett said any technology that involves new programming paradigms will meet resistance.

“The key observation that we’ve made is you really need to be very close to a pre-existing, familiar programming model in order for rapid adoption to take place. So, I think that’s the challenge, to make the benefits of those technologies available from a cost perspective, but also accessible to the skills of the existing community, otherwise adoption will be very slow,” he added.

“I’m comfortable that we’re not competing [with neuromorphic computing] in the very near term, but clearly it’s an exciting technology and one to watch.”
I hope, what he's saying is that in order to switch over to xcore.ai it's not necessary to learn any new language. xC is hidden below the bonnet. Task are supported by FreeRTOS. Not necessary does not mean, not possible(?)

Also, in [3] XMOS does not mention neither the xTIMEcomposer or XC. Null. Zero.

I have tried to ask around, but silence has prevailed.

Now, could anybody from XMOS lift the veil?

[1] XMOS FreeRTOS port (disclaimer: no money, no ads, no gift, just fun and expenses)
[2] Will Neuromorphic Computing Compete with Today’s AI Accelerators? by Sally Ward-Foxton in EETimes, see https://www.eetimes.com/will-neuromorph ... elerators/ (13Apr2020)
[3] XCORE.AI product brief, marketing material by XMOS, see https://www.xcore.ai/wp-content/uploads ... Brief.pdf (2020)


--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
ozel
Active Member
Posts: 45
Joined: Wed Sep 08, 2010 10:16 am

Post by ozel »

Very interesting observation, I noticed the same when reading through the new product brief.
But I believe xC and the specific assembler instructions that enable the versatility and real-time features won't go away any time soon.
Having the benefit of well tested higher-level protocol implementations like TCP/IP or SDcard/FAT from something as widely used as FreeRTOS should be really beneficial and help the XMOS platform a lot. So pure C/C++ would be related to FreeRTOS tasks while xC sticks around for physical layer/low-level I/O interface programming on separate logical cores.

I'm just hoping strongly well see a lot of detailed documentation on XMOS FreeRTOS usage and that it won't be similar to the python testing/simulation framework that seems hilariously useful but is unfortunately not documented besides code on github.
User avatar
aclassifier
Respected Member
Posts: 483
Joined: Wed Apr 25, 2012 8:52 pm
Contact:

Post by aclassifier »

ozel wrote: Sat May 02, 2020 6:36 pm ..xC.. won't go away any time soon..
..hoping strongly well see a lot of detailed documentation..
Thanks! I agree with all your words, and on my best moments I'd think you are right. But crystal balls are not that well suited for this.
--
Øyvind Teig
Trondheim (Norway)
https://www.teigfam.net/oyvind/home/
Post Reply