|
|
|
|
|
by iamlucaswolf
696 days ago
|
|
What exactly is the ask here? Do you want input for a programming model? Practical advise for building a compiler? Do you want to target real hardware or a software simulator? > I'd settle for a good way to express said tree in a plain text file What you are referring to is commonly called an IR (intermediate representation). Compilers typically take the AST generated by the parser and translate (“lower”) it into increasingly hardware-near and optimized IRs before performing instruction selection. I briefly browsed through the links you provided. IIUC, BitGrid is essentially one of the Turing-complete 2-D cellular automata. This Reddit thread might be interesting to you [0]. [0]: https://www.reddit.com/r/computerscience/s/IE5WRIrKsR |
|
I wasn't sure, just a kick in the pants to get me out of the rut I was stuck in.
>Do you want input for a programming model?
Any suggestions are great
>Practical advise for building a compiler?
Yes, or even hints as to the right direction.
>Do you want to target real hardware or a software simulator?
I was just targeting real hardware, and started learning Verilog using YOSYS. Then it dawned on me that if you have a compiler, and you can break code into a huge directed acyclic graph of operations, you can spilt it up into chucks rather trivially. The compiler becomes a universal solvent for code.
If you have BitGrid chips, then can execute parts of the grid quickly in parallel (1 nanosecond or less cycles across the chip), if all you have is CPUs with a lot of RAM, you can execute parts of a huge grid very slowly (about 60 nanoSeconds/cell on my PC, single threaded, I should be able to get an 8x speedup on my 8 thread machine)
I'd like to eventually run GNU Radio flowgraphs at better than real time through a BitGrid. I should be able to do it with audio now, for small graphs, using my simulator.
I'd also like to figure out how to make a backend for GeoHot's TinyGrad that outputs a BitGrid graph.
>[0]: https://www.reddit.com/r/computerscience/s/IE5WRIrKsR
Oh my... the x86 Move instruction really has a lot of power built into it. [1] I'll be digging through the GitHub repo he mentioned[2] for a while, it looks quite interesting.
Thanks for your help!
[1] https://www.youtube.com/watch?v=R7EEoWg6Ekk
[2] https://github.com/reMath