Earlier quoted context omitted.
As an FPGA guy, I want to ask this - what software programming languages, models, etc. exist to support the description of fundamentally concurrent processing, whether task-parallel, data-parallel, hybrid, or "other" (whatever that may be) that will allow for the supplanting of HDLs? I know that there's been long-standing efforts to do C-to-HDL but to my knowledge the successes of this approach have been limited to r…
PI calculus/actor model/'erlang style' concurrency. In (synthesizable) verilog, you have tiny state machines communicating via explicit channels (clock+wires+buses), and functions that get turned into gates. A higher level language would give you ideal channels (mapping onto fixed hardware channels or synthesized to HDL). Depending on their complexity, the functions at each state-node would also be transformed to use…
Forth Inventor Chuck Moore's $20 144 core CPU now in full production
91–100 of 100 posts
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#92Earlier quoted context omitted.
I protyped dynamic dataflow machine which (in theory) could be scaled to hundreds of cores (corelets - something very small which does not have even jump command). In my experiments readying information to be sent accounts for hefty 30%+ of code. http://thesz.mskhug.ru/svn/hhdl/previous/HSDF/CoreletTest.hs The link above contains some simple "Hello, world!" program, in five "big instructions" which contains 21 corele…
> In my experiments readying information to be sent accounts for hefty 30%+ of code. Unfortunately I don't have time to dive into your design but AFAIK the GA144 doesn't need 30% preparation code because every instruction can be executed immediately by neighbor nodes. That means (correct me if I am wrong) if core X has to evaluate a Forth function of say five arguments then it could pass all five arguments to its nei…
You can send a word, ie, "big command" composed from four MISC command. One of MISC commands in "big command" can retrieve data from other core.
So most of the time you will wait to send a command or to receive some data.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#93Earlier quoted context omitted.
PI calculus/actor model/'erlang style' concurrency. In (synthesizable) verilog, you have tiny state machines communicating via explicit channels (clock+wires+buses), and functions that get turned into gates. A higher level language would give you ideal channels (mapping onto fixed hardware channels or synthesized to HDL). Depending on their complexity, the functions at each state-node would also be transformed to use…
Do you have links to any tutorial, intros or such for the list that you enumerated above? I am very much in appreciation of your (and everyone else's) feedback - learning of a number of new options and approaches that are worth further research.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#94Earlier quoted context omitted.
You've piqued my curiosity; could you elaborate please?
I shall try, but this stuff gets really hairy, really really fast. Von Neumann architecture is what almost all computers use today: you have (very roughly) an ALU (arithmetic logic unit) hooked up to a memory bank which stores both program data and the instructions the program consist of. Now you can add a couple of cores to that, but you pretty soon start to run into problems -- threads which try to access the same…
If I may attempt a paraphrase: CPU caches stop being a bandage for slow access to RAM and become a valuable first class citizen for each core of the CPU when coupled with the actor model.
Did I understand you correctly? Again, thank you.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#95Earlier quoted context omitted.
OTOH, LLVM is, if anything, a register machine, so as to better map to the register machines we're implementing in hardware right now.
ACtually LLVM isn't a virtual machine, it's a compiler intermediate representation.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#96I think the only thing Chuck is missing is a few 20-somethings hackers, bent on solving an 'impossible' problem with his chips.
That's why I'm posting it here. Some possible ideas ==================== - Sound processing (think 144 cores preforming Fourier Transforms) - Pico Satellites (This chip has a surprisingly extreme low power requirement). - Wireless communication (small power requirement means small batteries) - Computer Vision processing. Imagine toys or tools that can process visual information faster than an Xbox. - Basically anythi…
Can this replace a physics dedicated processor? What about latency?
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#97Earlier quoted context omitted.
I shall try, but this stuff gets really hairy, really really fast. Von Neumann architecture is what almost all computers use today: you have (very roughly) an ALU (arithmetic logic unit) hooked up to a memory bank which stores both program data and the instructions the program consist of. Now you can add a couple of cores to that, but you pretty soon start to run into problems -- threads which try to access the same…
That wasn't a "try" - that was a success. Thank you! If I may attempt a paraphrase: CPU caches stop being a bandage for slow access to RAM and become a valuable first class citizen for each core of the CPU when coupled with the actor model. Did I understand you correctly? Again, thank you.
But if the cores of the CPU starts to communicate with the actor model then you wouldn't be using the memory close to the cores as a cache but as a storage area for messages that haven't been sent/processed yet as well as possible for thread local storage.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#98Well if you ever wanted to be 'out there' Chuck's processor would be a great place to start. Chuck Moore invented Forth and has been building machines that can run Forth efficiently for years. Think of it as a Turing machine that can do useful work. He has pushed the edge of computation per watt for years. That being said, I've heard him talk about this chips for years and it is great to see it finally see the light…
I have done my Master's work with the XCore (xmos.com), which is a direct descendant of the Transputer. It's programmed in an C-with-CSP-constructs called XC. I found it very easy to write XC correctly. I think that the CSP/transputer idea is really the best way for most parallel programming to happen. MPI and pthreads allow more flexibility, but in most (say, 80%) of cases, that's not needed for your application.
A cursory look at Go reminded me of some time I spent writing OCCAM code.
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#99Earlier quoted context omitted.
OTOH, LLVM is, if anything, a register machine, so as to better map to the register machines we're implementing in hardware right now.
In practice, the difference between LLVM and a stack machine like CLR or JVM is quite small. LLVM SSA, modulo phi nodes, encodes expressions as DAGs in a completely straightforward sense: every operation names its arguments, and those names serve as unique references to a sub-DAG, since they cannot be reassigned. So given the final operation, you can follow the arguments recursively all the way through, completely tr…
Re: Forth Inventor Chuck Moore's $20 144 core CPU now in full production
#100Earlier quoted context omitted.
ACtually LLVM isn't a virtual machine, it's a compiler intermediate representation.
And when JVM bytecodes are compiled to machine code by the hotspot optimizer, what is the JVM?