Programming a 144-computer Chip to Minimize Power (2013)
infoq.com
infoq.com
I would love to! Any further links to the life/work-style of said group?
youtube channel of Daniel Kalný https://www.youtube.com/channel/UCVMrX6BlNjIeGfX0QcBobGg
hope you enjoy!
As an experiment, I will be happy to address any question that anyone might have, including those appearing in this thread, at the GreenArrays shop and lecture hall in Second Life. I propose to stand there, virtually, at 0800 PDT / 1500 UTC / 1700 CET / Midnight in Sydney, AU, on Wednesday, 13 May and again on Saturday, 16 May. The SLURL for the shop is http://maps.secondlife.com/secondlife/Deneb/80/228/27 and the name of the shop is "GreenArrays Ventures". My name in SL is GregBailey with UUID f64abbc5-7136-40db-9dd0-a174d93d8742 and I will wait for one hour before logging if no one has shown up.
The experiment will be interesting, whether or not it produces positive results. Failing that I may find time to reply on these threads, and we do reply to questions sent to sales mailbox, domain greenarraychips.com.
So, see you Wednesday or Saturday, perhaps. Advice: To minimize wasted time, kindly go to http://www.greenarraychips.com and do a little studying, or perhaps audit some of the lectures on the arrayForth Institute that is linked from the above, or preferably both.
For the questions about what is it good for, anyone who can multiply the average power of a typical edge device in the "Internet of Things" by whichever fanciful power of ten (we are up to 12 now, are we not?) the Visionaries expect to exist of those edge devices, and then contemplate the obscene amount of average power that product represents, should be able to grasp that by wasting orders of magnitude less resources, including energy, than others do, we ought to be obviously good for something there if nowhere else:)
And now back to work on a software defined GPS receiver. I look forward to meeting anyone who might make it on Weds or Saturday!
I wish you well - Greg
I think that many core architectures can actually be simpler to program in an embedded context than the traditional single core systems. It's akin to a hardware implementation of the actor model rather than an interrupt state machine or interrupt event loop. Being able to dedicate cores to single I/O tasks means you can bitbang almost anything. Here's HDMI running in a few lines of code on a Propeller 2 with no external components but the HDMI connector: https://forums.parallax.com/discussion/comment/1475075/#Comm...
What doesn't happen all at once is access to main RAM. That's handled by a round-robin arbiter.
”... its eight processors, called cogs, that can perform simultaneous tasks independently or cooperatively...”
” True parallel processing with eight symmetric 32-bit processors (cogs) in one microcontroller”
”20 MIPS per cog, 160 MIPS total with all cogs running”
”All eight cogs are driven from the System Clock; they each maintain the same time reference and all active cogs execute instructions simultaneously.”
https://www.parallax.com/sites/default/files/downloads/P8X32...
The shared hub memory is only accessible to one core at once and which one has access is switched between in round robin fashion, each core getting a turn to access it once every 16 clock cycles. Perhaps that’s what you were thinking of?
[1] https://en.wikipedia.org/wiki/Asynchronous_array_of_simple_p...
Edit: https://thestrangeloop.com/2013/programming-a-144-computer-c...
Hopefully the real chip is easier to program :-).
http://www.greenarraychips.com/home/documents/index.html#GA1...
AFAIK, the memory-communication power can increase by orders of magnitude if u go off-core, off-chip, off-cache, etc.
It is very strange. It is like a shop without a front to get things, but keep on trying to tell you - once you got it, you can do wonderful thing.
What is the point?
AFAIK, the memory-communication power can increase by orders of magnitude if u go off-core, off-chip, off-cache, etc.
The impression that I had is that the whole talk was Chuck Moore going "look at all the cool assembler tricks I can do!". At no point did he ever demonstrate how his chip could be used to solve anything resembling a real-world use case. Instead, what he demonstrated was that his architecture was very esoteric and impractical to use. Some time could have been spent explaining how this chip can do some common computation (matrix multiplication, image processing, anything) more efficiently than an ARM chip or something we're already familiar with.
He didn't really provide any benchmarks of anything, be it performance or power consumption, and my understanding was that, at the time the talk was given, based on the Q&A session, that he had no customers buying said chips (I wonder why?).
Sounds like a bit of art to enjoy for its self.
When possible, sure; otherwise, selling stuff could be fun, too.
Chuck Moore is bad at presentations to outside audiences. This should surprise no one familiar with the man. This doesn't make the tech less useful, though.
https://news.ycombinator.com/item?id=23157949
AI is just the most obvious usage, though.
It'd be unimaginative to just consider embedded uses: there are terribly practical uses for it. Consider that most big companies buy hardware based on performance per watt, then consider that GA144 blows most things out of the water on that front.
GA also has a few recommendations (ripped from their site):
APPLICATIONS
Energy harvesting applications
Portable devices
Remote sensing and data reduction
Ideal for parallel and/or pipelined work
Image processing
Complex control systems
Cryptography
High speed signal processing
Simulation and synthesis
Inexpensive, massively parallel systems for research and education
Artificial intelligence, neural netsIf those were really obvious, tachyonbeam wouldn't have to ask ;-)
In your opinion, what are problems for which this chip would be a solution?
The most obvious one is AI. These things are incredibly parallel & entirely self-contained, and a consumer desktop PSU could power countless amounts of them without a second thought. At $2,000 for 100 chips ($20/chip), you can start to do some really interesting stuff for the cost of a consumer laptop.
It's natural that AI is a problem this chip excels at, given Moore studied under McCarthy and all.
If you feel morally okay with playing with proprietary software, I really recommend playing a little bit with the simulator of the chip. Given what's intuitive with one or two, you'll probably be able to see the possibilities much better after an hour or so of play.
I seriously doubt that. The cores on that chip are extremely memory-limited: 72 bytes per core, that's about 10 kiB per Chip! And if you want to access SDRAM, you need an external SDRAM controller and bit-bang it. Gee, I wonder what that does to throughput and latency...
This chip's competition isn't GPUs and AI engines, but very low-cost, low-performance FPGAs, and it would probably lose. Given the extremely constrained environment of the individual cores (no cache, extremely little memory, a stack-based architecture), FPGAs are probably even easier to program.
There are no commercial applications, it's a toy.
That'll be really wonderful to see!
It has logic to multiplex all those I/O to GPIO pins, and sometimes you have to choose between a second USB controller and a third UART.
Because all this gates eat a lot of current, it has a lot of logic to power off parts of the core.
In a way, popular ARM SoCs are a lot like bloated software.
I think the GA144 can replace a lot of this, without all the hardwired logic, with less gates, less power, less heat dissipation, and probably less pins.
Regarding his way of presenting it: I did cringe at times a little too. But at least he doesn't present it as silver bullet than can do anything easily with a C compiler and a Web programmer. Clearly his chip is as an oddball as his creator, so it requires some commitment.