Does such a implementation of Forth exists that allows you to take full advantage of multicore processors?
I recently became aware of colorForth which is the latest invention from Mr Moore (not ANS compliant) and is used on his new multicore chips.
It features 144 small forth computers on a single chip (and no clock!) for high efficiency.
EDIT: Actually, colorForth is the IDE used for the chips. The flavor of (color)Forth running on the chip is called arrayForth.
Apparently. I don't know much about it, see Multicore processors, FORTH programming, and the relationship between software and silicon (published 2008-09-24).
You want to take "full advantage" of multicore processors. The excuse for multicore programming is that you need performance (you can do multithreaded with just one CPU).
In that case, I don't think I'd use Forth, as it is fundamentally an interpreter (yes, a fairly fast one). Worse, for modern processors, each Forth word-dispatch being an indirect call is likely a pipeline break, which really slams processor performance, and Forth word-execution operates on stack elements instead of registers. So by using Forth, you are giving up computational advantage compared to C or C++ or even Fortran. What this means is that you are almost gauranteed to have to use more than one CPU with Forth to match the performance of a more traditionally coded and compiled language. Why start with a disadvantage?
The guys that want to do MP with Python puzzle me for the same reason.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With