What is a word for a pace even slower than glacial? @jangray isn't the only one doing kilocore RISC-V in FPGA. I've hacked a version of my Glacial RISC-V core to run 1024 cores in an XC7A50. They're run serially, though, not in parallel.
-
-
-
Replying to @jangray
As you know, my Glacial core is heavily vertically microcoded. It was written only to compete in the low-resource category of the previous RISC-V core competition. 1/
1 reply 1 retweet 0 likes -
Glacial takes four clock cycles to execute one microinstruction, so hundreds of clock cycles to execute each RISC-V instruction. 2/
1 reply 0 retweets 0 likes -
I got jealous of your kilocore work but can't afford any FPGAs bigger than XC7A100. So I thought, I can make Glacial into a sequential multithread core. With 1024 "hardware" threads, now each thread takes a few hundred thousand clock cycles to execute one RISC-V instruction. 3/
2 replies 1 retweet 4 likes -
It should fit in even a tiny FPGA with external RAM. You can scale the number of threads from 1 to however much memory you can afford, and of course it slows down commensurately. 4/
1 reply 0 retweets 0 likes -
The original single-thread Glacial might actually be useful in very limited circumstances. I can't imagine any good use for a 1024-thread Glacial, but maybe a small number of threads could be useful. 5/
2 replies 0 retweets 0 likes -
Could be an excellent cheap test platform for parallel algorithms. I imagine right now you schedule threads round-robin. Would it be possible to instead just schedule threads randomly?
2 replies 0 retweets 0 likes -
I think a more practical solution would be to take a more conventional RISC-V core design, perhaps with a 3 stage pipeline, and turn it into a barrel processor, or, with fancier thread scheduling, something like the Ubicom IP3023.
2 replies 0 retweets 1 like -
Does your formal verification for RISC-V cores work for multiple harts? I suspect it wouldn't work well with Glacial or Tectonic, but since I'm not familiar with it, I don't really know.
1 reply 0 retweets 0 likes
It can be used to verify single thread behavior of a cores in a multicore system. But multicore interaction (atomics, memory model, etc) is not verified.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.