
Programming a 144-computer Chip to Minimize Power (2013) - colinprince
https://www.infoq.com/presentations/power-144-chip/
======
gaze
I really love greenarrays and that entire social circle. It's an older group
of folks that bought a historical house in Wyoming and do chip design,
programming, everything with their own home-brew minimal set of software. It's
an alternative universe of programming. It's almost a software and hardware
design religion. I think everyone should know about it and that it's possible
to work this way, even if you wouldn't personally want to. You may even find
some of their arguments compelling. I love it.

~~~
barbegal
Has anyone used the greenarray technology for any real world applications? It
seems to fit somewhere between an FPGA and a microcontroller, but it doesn't
seem that obvious to me what the benefits are, maybe less power than a
microcontroller but I can't find any clear cut evidence that is the case for a
real world application.

~~~
alaaalawi
you may find the following presentations in using ga144 entertaining, even if
stretched. as Chuck Moore once said (I'm trying to get the ref) Forth is about
sharing ideas rather than code. these videos are not pure coding session (even
if they have their own share) but a mix of engineering and problem solving. \-
echolocation like bats \- heart monitor \- digital image processing \-
building ga144 controlled robot \- low speed usb host

youtube channel of Daniel Kalný
[https://www.youtube.com/channel/UCVMrX6BlNjIeGfX0QcBobGg](https://www.youtube.com/channel/UCVMrX6BlNjIeGfX0QcBobGg)

hope you enjoy!

------
honkybozo
Greetings from Greg Bailey in Cheyenne, Wyoming where GreenArrays can say,
paraphrasing Steve McQueen at the end of the superb movie Papillon, "We're
still here, you Bastards!!!"

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](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](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

~~~
honkybozo
I stood around for an hour and ten minutes this morning; Daniel could not make
it due to a family afternoon outing in CZ. End of experiment, with negative
results. However, thanks to whoever made the Second Life account RawNerve, but
could not make it as "early" as 0800 PDT, for your interest. Back to emailing
us if you have any questions. We do answer.

------
mastax
Reminds me a lot of the Parallax Propeller: many simple cores optimized for
bit-banging I/O and programmable logic. Of course this is much lower power and
has many more cores.

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...](https://forums.parallax.com/discussion/comment/1475075/#Comment_1475075)

~~~
fortran77
The DEFCON 22 badge was done on a Propeller. I did a little pokeing around on
it--very interesting architecture. But they don't all run at once.... It's
just a way to switch contexts instantly.

~~~
dkersten
That’s not what the datasheet says. It says:

 _”... 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...](https://www.parallax.com/sites/default/files/downloads/P8X32A-Propeller-
Datasheet-v1.4.0_0.pdf)

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?

~~~
fortran77
Yes! Thanks! 8 years ago, it's hard to remember things.

------
falava
Recorded at Strange Loop 2013. Please add (2013) tag.

Edit:
[https://thestrangeloop.com/2013/programming-a-144-computer-c...](https://thestrangeloop.com/2013/programming-a-144-computer-
chip-to-minimize-power.html)

~~~
dang
Added. Thanks!

------
mrighele
The grid layout and having chip(let?)s communicating with the four neighbors
reminds me a lot of TIS-100 [1], I'm wondering if the game was inspired by
this chip.

Hopefully the real chip is easier to program :-).

[1]
[https://store.steampowered.com/app/370360/TIS100/](https://store.steampowered.com/app/370360/TIS100/)

~~~
cptnapalm
I swear that the line limitation in TIS-100 was just to drive me nuts. The
shear number of times I just needed ONE MORE LINE... Loved that game.

------
ansible
Architecture and further details on the GreenArray chip:

[http://www.greenarraychips.com/home/documents/index.html#GA1...](http://www.greenarraychips.com/home/documents/index.html#GA144)

~~~
so_tired
Do they need to optimize for reduced memory/communication patterns? Or is that
going too far

AFAIK, the memory-communication power can increase by orders of magnitude if u
go off-core, off-chip, off-cache, etc.

------
bitbckt
A more accessible version of some of these ideas:
[https://www.parallella.org/](https://www.parallella.org/)

------
ngcc_hk
Can I repeat my question: how to get something on-hand (like the board, the
programmer and even the working environment setup) per this document
[http://www.greenarraychips.com/home/support/index.html](http://www.greenarraychips.com/home/support/index.html)

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?

~~~
honkybozo
You can place orders for chips and evaluation kits right on the website; take
Product Offerings in the menu on the left side of the browser, and you will
see this page:
[http://www.greenarraychips.com/home/products/index.html](http://www.greenarraychips.com/home/products/index.html)

------
so_tired
Do they need to optimize for reduced memory/communication patterns? Or is that
going too far

AFAIK, the memory-communication power can increase by orders of magnitude if u
go off-core, off-chip, off-cache, etc.

------
ngcc_hk
Strange it is all software like. Any hardware to see, to buy one or few times
try, emulator to see etc. both the video and the YouTube by another guys seems
no such thing.

~~~
honkybozo
See reply to your other post :)

------
dang
Discussed at the time:
[https://news.ycombinator.com/item?id=6940552](https://news.ycombinator.com/item?id=6940552)

------
tachyonbeam
I saw this talk live at Strange Loop 2013, and I'm going to be a contrarian: I
wasn't impressed. I don't mean to bash Chuck Moore. Forth is cool, and this
chip looks neat, but my impression is that this is a solution looking for a
problem. Chuck Moore is having a lot of fun working on it, but he fails to
convey why this is useful.

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?).

~~~
kick
They're making their second-generation chip right now, and I think there are a
bunch of problems that this chip is an obvious solution for.

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.

~~~
adwn
> _[...] I think there are a bunch of problems that this chip is an obvious
> solution for_

If those were really obvious, tachyonbeam wouldn't have to ask ;-)

In your opinion, what _are_ problems for which this chip would be a solution?

~~~
kick
'tachyonbeam didn't ask.

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.

~~~
adwn
> _The most obvious one is AI._

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.

