Shop OBEX P1 Docs P2 Docs Learn Events
144 core micro, looks like it runs fourth — Parallax Forums

144 core micro, looks like it runs fourth

rwgast_logicdesignrwgast_logicdesign Posts: 1,464
edited 2014-10-17 21:35 in General Discussion
Wow has anyone heard of these, there called green arrays

http://www.greenarraychips.com/

The software is called arrayFourth so im just assuming the chip uses fourth as its primary language, which might be a no go for most folks, but I know there is some die hard fourth fans on here. I dont see anything about purchasing so im not sure what the price is.
«13456

Comments

  • Duane C. JohnsonDuane C. Johnson Posts: 955
    edited 2013-01-12 19:55
    Yes, there was another thread talking about it a while ago.

    Duane J
  • prof_brainoprof_braino Posts: 4,313
    edited 2013-01-13 18:44
    The thing about there is we get to write MICROCODE directly, in a high level langauge, forth. (Although some may argue either of this points, you get the idea).

    To order one, you have to figure out the proper Schmartboard kit to order, and you get to build it yourself. It costs about $40.

    http://www.schmartboard.com/index.asp?page=products_csp&id=532

    http://www.greenarraychips.com/home/documents/greg/AN005-110926-SCHMART.pdf


    Its extremely powerful. Thing is, what the heck would you use it for? We looking into a bulk buy, then found out we could do one-off buys, then figured out we didn't have any application that needed this hardware.

    My mentor suggests its better to finish one thing than start ten new things. So we decided to wait until the project list evolves a bit more. If it ever gets to the point where it needs a vision system, etc, the greenarrays GA144 will be on the short list of candidates. Right now we are waiting for the Raspberry Pi camera to come out before we start talking vision.
  • rod1963rod1963 Posts: 752
    edited 2013-01-13 19:47
    GreenArrays sells a kit for around $200.00

    GA144 is not really orientated towards everyday programmers. In fact I can't see a useful app for it or one that can't be done by a ARM or MSP430 mcu's. What the GA people really need is more app notes and documentation given it's uniqueness, as it is, they are doing a bad job selling the chip, given that it's been out for about 2 years now.

    Just google the GA144 and you don't find anyone doing anything with it. That is a warning sign, that almost no one can figure out what to do with it. But for some reason GA doesn't care.
  • prof_brainoprof_braino Posts: 4,313
    edited 2013-01-14 14:53
    rod1963 wrote: »
    I can't see a useful app for it or one that can't be done by a ARM or MSP430 mcu's.

    Thats why they are not marketing to you. We are are just getting used to 8 cores. Most folks think 4 cores is a big deal, and would have 143 cores sitting idle. This part is not for those folks.

    GA144 is best suited for say, a DSP type application (IMHO). But considering that most folks aren't interested in writing microcode for a DSP, There aren't so many folks that are able to put this to work in the first place. I almost organized a group buy, but I have no application that merits the power of this part.

    When we get into say, big fat vision streams from a pair of Raspberry Pi's, and start pre processing the video stream for edge detection, blob shift, parallax image matching, and the kinds of things real eyes do before the image gets to the brain (if thats really how it works) then there might be a use for these. Right now the hardware is too far ahead of the wetware.

    If I do ever get to that point, I know I can get one for $35, so I'm not in any hurry yet.
  • rod1963rod1963 Posts: 752
    edited 2013-01-14 21:19
    Braino

    People have been working with multi and parallel processing long before Chip ever had the idea. It's nothing new. 20+ years ago it was a different story.

    As for marketing GA is certainly not targeting hobbyists, academics or even commercial firms, given their utter lack of useful documentation and app notes to show how powerful their chip is. Heck they don't even bother to teach people how to make use of the processors. No floor planning software, no nothing. Either they are sitting on the information or don't have a clue themselves.

    Even GA engineers can't figure out a useful app to demonstrate the GA144 to prospective customers to wow them. As for it doing DSP work, you have to be joking. Show me the benchmarks that it equals Analog Devices competing products or even a dedicated FPGA - you can't, even GA can't. All they've done is put out a chip, with minimal documentation and then sit on their behinds like a bunch of mushrooms.
  • prof_brainoprof_braino Posts: 4,313
    edited 2013-01-15 05:54
    Rod, cool down, try to relax. No need to fight. Not every part needs to crush every other part on the planet and be the dominant hardware in every consumer device.

    This is a part where we have yet to figure out what to do with it. Its not a better choice for anything we are used to doing, but it might be a good choice for something we haven't been able to do before. The default choice is nothing, thats a valid choice. The second choice is to wait until we have an application that looks like this might fit, then give it a try. We haven't got that far yet, I don't know about anybody else. The military doesn't email me on every new weapon system, typically they do this stuff first.
  • Dave HeinDave Hein Posts: 6,347
    edited 2013-01-15 11:21
    The problem is that the Green Array chip is promoted as a Forth chip with a Forth front-end. Now if it had a C front-end it might get a little more attention from developers. There's no reason the cores couldn't be programmed in an assembly language instead of having to program them using Forth.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-15 19:13
    @Dave Hein
    The Green Array provides what is really an assembly language that merely includes machine code for built in stacks.

    Quite a bit of the array's processing is taken in passing data from one array to another as only the 'edge' arrays have the ability to communicate with the outside world. It is an 18 x 8 matrix. Also, it has NO clock.

    Since it is so unlike the Propeller, which has 8 processors that can all reach the outside world, and data speed in not dictated by an oscillator - I can't seem to see what do with it regardless of how one programs it.

    It may be useful as a dedicated number cruncher.
  • User NameUser Name Posts: 1,451
    edited 2013-01-16 08:08
    I sat down with the GA144 architecture quite a while ago, before the chips were available to the public, and worked through some designs. My conclusion was that this chip was poorly conceived. The individual F18A core is clever. Packaging them in a 12x12 array with serial interconnections to nearest neighbor...not clever. Most of the throughput of most of the nodes, in a real-world application, is spent doing I/O in a very inefficient manner. Once the F18A core was designed, the chip was just thrown together with what appears to have been the attitude, "We'll figure out how to use it later."

    IMHO, C isn't going to rescue this chip in any way, shape, or form, because the use of FORTH isn't its chief problem.

    GA144, as it stands, provides a complicated way of achieving average performance.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-16 08:36
    @UserName
    It is NOT a 12 x 12 array... it is an 18 x 8 array. But it certainly does have enough depth to spend a lot of time passing data along in a left, right, up, or down way.

    I suppose from a neural network point of view, it might make sense to some. But it is a very very different kind of processing with 18 bit 'words' and hardware stack machines. You have to accept that it is indeed hardware Forth with some interesting i/o and go from there.

    In may seem inefficent in the sense of clocking instructions, but the lack of a clock makes things happen almost instantaeously. So in some ways it is more of a programible state machine than something else.
  • User NameUser Name Posts: 1,451
    edited 2013-01-16 09:05
    It was two years ago I last looked at this chip. Time scrambled a detail. But it is not germane to the problem. Neither is the asynchronous nature of the chip.

    You suggested in an earlier post that the GA144 could be used as a dedicated number cruncher. Please consider the task of loading two 32-bit operands into this chip, and extracting a 64-bit result. Piece of cake with an ARM, Propeller, PIC, AVR, x86, etc. Nothing but trouble with GA, every step of the way. Can you imagine having to involve a dozen processors - and a dozen pieces of code - just to do a parallel read or write?!

    I was so excited when I first heard of this chip. It was all downhill from there.
  • prof_brainoprof_braino Posts: 4,313
    edited 2013-01-16 16:37
    If one wants to do something that is easy on an ARM, etc; then one should be using that instead of the GA144. The GA144 is for things that are hard on standard architectures. But most folks won't know what these are good for until somebody gives us an example. Most of us don't know what to do about clockless operation.

    Remember when 8 cores and no interrupts was a big deal to get your head around? Some folks still don't get that. Be patient. When software catches up with hardware, interesting things happen.
  • Dave HeinDave Hein Posts: 6,347
    edited 2013-01-16 18:38
    Asynchronous processing is not a new invention. It's been around for a long time. It's not clear to me that there are any real advantages from using an asynchronous technique, and there seem to be a lot of disadvantages. I don't think you can really call the GA114 a clockless chip. If I understand correctly, the processor clocks itself by generating it's own asynchronous clock.

    I agree with the earlier comments that I/O is a big problem with this chip. It might be a useful image processing chip if each processor had it's own photo-receptor. Of course, there would need to be many more than 144 processors for it to be useful. It will be interesting to see if this chip ever sees a useful application.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-16 21:58
    User Name wrote: »
    It was two years ago I last looked at this chip. Time scrambled a detail. But it is not germane to the problem. Neither is the asynchronous nature of the chip.

    You suggested in an earlier post that the GA144 could be used as a dedicated number cruncher. Please consider the task of loading two 32-bit operands into this chip, and extracting a 64-bit result. Piece of cake with an ARM, Propeller, PIC, AVR, x86, etc. Nothing but trouble with GA, every step of the way. Can you imagine having to involve a dozen processors - and a dozen pieces of code - just to do a parallel read or write?!

    I was so excited when I first heard of this chip. It was all downhill from there.

    I just figured anyone in their 'right mind' would use 16 bits out of the 18 to interact with other processors. From 16 to 32 to 64 would be rather conventional doubling. But the truth is that I've no idea of how to manage the 18 x 8 matrix with all the special i/o nodes. The GA144 is a puzzle to me, but that is the fun of it.
  • User NameUser Name Posts: 1,451
    edited 2013-01-17 22:51
    The GA144 is for things that are hard on standard architectures.

    Apparently we'll have to take that on faith. I can't verify what was in Chuck Moore's head when he decided to lay down 144 F18A processors in a rectangular array, but I suspect it was more a convenience-based decision than a fiendishly clever master plan. In other words, there doesn't appear to me to be any sort of guarantee that the GA144 is necessarily good for anything. GreenArrays, themselves, seem to be on a quest to discover what can be done with it.

    The lack of a single bomber application this late in the game doesn't bode well. Most chip manufacturers have arranged something useful for their chip to do before there is even silicon. To whit the P2.
    But most folks won't know what these are good for until somebody gives us an example.

    On that we agree. I would include GreenArrays in "most folks."
  • Heater.Heater. Posts: 21,230
    edited 2013-01-18 00:44
    This is a puzzle to me as well.

    In a rash moment I backed Adapteva on Kickstarter for the Parallella platform is based on the Epiphany multicore chips.
    So that is 16 times 32 bit floating point cores, a bit of memory each and a high speed switch matrix to get data in and out. Later there will be 64 such cores. All hooked up to a regular ARM computer.

    Sounds a millions times more usable than the Green Arrays device right?

    Well, after that I looked into parallelizing my FFT for use on the Propeller or else where.

    Even with languages like C with OpenMP or Go with it's Go routines that support parallel concepts it turns out to be damn hard to do.

    At least with the Parallella board if I can't figure out what to do the multi-core math processor the rest of the board is a regular ARM computer with a reconfigurable FPGA on it. Could be hours of fun with just that.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-18 01:15
    I suspect playfulness is at the bottom of why the GA144 is the way it is. Nothing wrong with that as we explore through play.

    The Epiphany multicore seems to have a more functional approach. I am now sitting on my Cubieboard just trying to figure out what to do with yet another Linux computer. It does have the appeal of being a low-power 24/7 server, but i am not sure what i need to serve. My wifi gateway/router is already a 24/7 printer server with a file server thrown in.

    These days my attention is turning more to good chair designs. I'd like to find myself sitting in eternal comfort.

    If one really wants to find a good use for the Green Arrays GA144, it will have to powerfully exploit the geometry of the array itself. 144 Forth machines not working in harmony are likely to not be much of a WoW.

    I've tried to sort out the special borders from the more generic arrays in the interior.

    Of course, the GA144 may not be good for anything when standing alone, but might suddenly be handy if you used 10 of them. It is just hard to say. The main thing here is to not apply 'known tools', but to visualize new ones.

    For me, the most attractive features of Forth are [a] it is interactive, and it has an extendable dictionary. I have yet to tie either of these attractions into a matrix in any profound way.
  • User NameUser Name Posts: 1,451
    edited 2013-01-18 09:32
    @Heater: For backing Parallella on Kickstart, will they send you a board when it's finished?
  • Heater.Heater. Posts: 21,230
    edited 2013-01-18 09:40
    Hope so. I put $100 into the pot.

    I'm not much of a gambler but reading around the company and the guys in it I thought perhaps they could pull it off.

    Also, as I say, if the board arrives and I have no idea what to do with parallel chip it is still on a par price wise with other ARM boards with an FPGA thrown in.
  • User NameUser Name Posts: 1,451
    edited 2013-01-18 13:10
    Seems like a lot of embedded controllers are now multi-core. Just finished reading about the LPC4300 family, where NXP has married an ARM Cortex-M4 with an M0. The M0 is there to relieve the much faster and fancier M4 chip of routine data movement and I/O tasks. Sort of like Parallella, and sort of like your RasPi/Prop proposal.

    Anyway, it got me to thinking that if I were in charge of redesigning the GA144, I would pair F18A's together. One F18A of each pair would be in charge of "data movement and I/O tasks" and the other would be in charge of number crunching. A bus or shared registers would connect the two F18A's of each pair. Finally, the I/O processor of each pair would be connected to the I/O processors of neighboring nodes, pretty much as it is now, only with half the impediment of communicating with the outside world. (Because, frankly, right now the GA144 reminds me of the Sun. Consider what it takes for a photon generated in the core to get to the corona...)
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-19 00:34
    @UserName
    The GA144 interests me exactly because it is not a standard setup. I suppose you are free to find a geometry that uses half of the 144 processors for communication and the other half for actual tasks.

    That in itself is worthwhile exploring.

    Of recent the GA144 has shown me how dependent we tend to be on an input/output model of computing. About the only modification with allow is a Unix model of 'standard input, standard output, and standard error.

    I've tended to look at the GA144 as having one 18 cell edge providing all the input and the other 18 cell edge providing output ... with all the data having to work its way across the interior.

    That is NOT the only possiblity as input and output can share the same edge and maybe even the same port. So data may be input, make a circuit around the adjacent processors as required and return to the same place to provide output. And this can all occur independently at different i/o nodes along the edges.

    So you could have a machine that morphs from being a few parallel tasks to many as required and back again.

    I suppose we would have to look as what kinds of 'state machines' are difficult or impossible in the other alternatives.

    And so, the GA144 exists to get you to consider alternatives that may have never been considered before. It is likely to redefine your role as a programmer along the way.
  • User NameUser Name Posts: 1,451
    edited 2013-01-19 12:36
    Here you've got a chip capable of 96 billion operations per second and, in a real-world application, 95 billion of those operations end up having something to do with bit-banged I/O. That just doesn't interest me. It may well interest others.

    Business consultants teach managers about efficiencies, like the idea of handling your mail just once. Data being bit-banged from processor to processor, by the very processors that are supposed to be doing computations, is exactly how not to do things efficiently. That's why I reject the comparison of the GA144 with an FPGA. Those who make such a comparison understand neither FPGAs nor the GA144.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-20 02:44
    Well, if you use the Propeller to do serial i/o, you often end up with one cog just for i/o and another for the actual task.

    Once you start programming to an actual task, all devices have some measure of wasted resources. I have a Quad 64bit for a desktop and I am sure it is sitting around doing wait states most of the time.

    Besides, data is NOT being 'bit-banged' from processor to processor -- once the i/o gets data it becomes 18 bit parallel. There is even accommodation for parallel RAM i/o

    If the business world were truly efficient, much more of the world would be starving. Maybe an FPGA is a better fit in your context. But the GA144 provides a learning model. Personally I have no idea how the GA144 compares to an FPGA. But I do have reservations about stack machines.

    What interests me is the creativity and the ability to explore new alternatives. Just because arguments are compelling doesn't mean they reflect real issues and facts.
  • LeonLeon Posts: 7,620
    edited 2013-01-20 04:45
    I'd forgotten about it, but there was an earlier version of the chip that was developed by Intellasys:

    http://www.intellasys.net/

    I've got one of their kits usin g an earlier, smaller chip, and a couple of the later chips, but have never used them.

    Chuck Moore fell out with them.
  • Dave HeinDave Hein Posts: 6,347
    edited 2013-01-20 06:01
    Does anyone know exactly how the GA144 is clocked. I know it generates it own asynchronous clock, but is it generated by some kind of delay circuit? Does the delay vary depending on the instruction that is executed, or is it a fixed delay? I assume the delay must track the speed of the logic that is dependant on voltage and temperature. Maybe it's just done by stringing several gates in series. If the delay depends on the instruction it would need to switch in a different number of gates for each instruction.
  • LeonLeon Posts: 7,620
    edited 2013-01-20 06:48
    Heater. wrote: »

    It doesn't seem to be doing much, from their web site. It even states that Chuck Moore is still associated with them.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-20 07:26
    Dave Hein wrote: »
    Does anyone know exactly how the GA144 is clocked. I know it generates it own asynchronous clock, but is it generated by some kind of delay circuit? Does the delay vary depending on the instruction that is executed, or is it a fixed delay? I assume the delay must track the speed of the logic that is dependant on voltage and temperature. Maybe it's just done by stringing several gates in series. If the delay depends on the instruction it would need to switch in a different number of gates for each instruction.

    I have been reading the documentation and it is a bit of a challenge. But in this case it might be best to first study the F18 document, and not the GA144.

    While the GA144 is supposed to do serial i/o at a hugely fast rate, that appears to be synchronous. I am always interestrd in the RS232 side of serial and it seems that the GA144 might provide it, but I am not quite sure.

    DB001-110412-F18A.pdfDB001-110412-F18A.pdf

    One really has to study the GA144 in to separate contexts - one is the function of an individual F18A processors, and the other is how the 144 processors operate.

    There are 22 processors that have specific i/o features that are specialized. The remainder are more generic, but edge and corner processors have less adjacent processors to pass data between. i suppose that the 22 i/o processors include some that depend on an external clock to receive, and maybe even send, serial - but once the data is in the GA144, it appears to move as through the array as fast as possible, unless intentional delays are imposed.

    Section 5.6 Timing Diagrams in the GA144 document simply says "TBD". (groan......................)
  • K6MLEK6MLE Posts: 106
    edited 2013-01-20 11:54
    In answer to the original question posted by rwgast_logicdesign:

    http://www.greenarraychips.com/home/products/index.html

    Their development board sells for $450. During a weak moment, I bought one. Like others have pointed out, it's not obvious what can be done with it.

    I've enjoyed Forth for decades, however, never got REALLY good at it. As for this board ... sometime soon, a group of us will be meeting in the Sacramento Valley to see this board and learn more about it. One of the attendees works for GreenArrays, so it should be interesting!
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2013-01-21 02:27
    @K6MLE

    To repeat what I have been trying to say...
    The matrix of 18 x 8 processors has to be looked at as a separate programming issue than the individual F18A Forth engine.

    144 processors is a heck of a lot of processors and just because you have so many doesn't mean you have to use them all or need them all to get a useful and economical application.

    Take a good look at the 22 i/o processors when you are trying to find a project. I suspect the Parallel i/o is least likely to be fully exploited, bu the ADC and DAC are interesting.

    Since the GA144 is extremely low power and fast, I suspect that monitoring a grid of solar panels or the charge/discharge state of a large array of batteries might be worthwhile projects.

    Just trying to get 12 lithium ion batteries on an electric bicycle to behave is an excellent project to consider as lithium batteries have a very flat charge and discharge curve. That means that one cannot just monitor voltages, one has to keep track of current delivered as well and both the voltage and the current have to be monitored over time.... ideally for each and every cell.

    So... trying to handle the charge and discharge of those 12 batteries might really need all 144 processors to do the job well. Recently the Boeing 787 fleet has been grounded due to lithium ion battery problems. This might just be the solution to Boeing's woes.
Sign In or Register to comment.