Take a simple FPGA fabric, and rip out all of the routing hardware, and specialized modules. This gets you down to a cartesian array of Look Up Tables. (Simulator for one LUT/Cell here[2])
Add a delay after each one, so that you can use the magic of graph coloring to clock them in 2 phases, and eliminate all race conditions. This simultaneously makes it a horrible FPGA, in terms of latency, and the easiest FPGA ever, in terms of general purpose, secure, computing.
Most computing problems can be broken down to a directed graph of bitwise operations. Executing all of the graph in lockstep means that you can simply flow data through it. You could get FFTs that window data, then output results at the same rate as the input. For Radar processing, this might be useful.
Ideally, you could flow GPT4 tokens through, the latency for a given stream would be horrible, but you could have millions of parallel streams.
To do this, you have to map the directed graph to hardware. In an FPGA this can take days because of the special modules, etc. This makes programming a nightmare. With a BitGrid, you can just use a greedy mapping algorithm, and Bob's your Uncle.
Because every cell is essentially the worlds smallest Excel Sheet cell, it's easy to know all of the dependencies for any given cell. You can move cells, rotate them, flip and mirror them if you need to maximize the utilization of hardware, or want to wall off a given graph inside walls for isolation.
Until recently, I've always thought of it as a chip, but recently I've come to see that you could just as well take a farm of RP2040 chips and have them all running slow simulators of a fairly huge BitGrid chips, and network them through their I/O pins to make an arbitrary size array, cheap!
The BitGrid topology thus becomes a universal computing solvent. Scaling anything that can be expressed as the directed graph can be run very slowly on a CPU with a lot of RAM/Disk, or quickly on silicon, with identical results. I think this could scale to PetaFlops quite cheaply (a few runs through TinyTapeOut then scaling up)
Take a simple FPGA fabric, and rip out all of the routing hardware, and specialized modules. This gets you down to a cartesian array of Look Up Tables. (Simulator for one LUT/Cell here[2])
Add a delay after each one, so that you can use the magic of graph coloring to clock them in 2 phases, and eliminate all race conditions. This simultaneously makes it a horrible FPGA, in terms of latency, and the easiest FPGA ever, in terms of general purpose, secure, computing.
Most computing problems can be broken down to a directed graph of bitwise operations. Executing all of the graph in lockstep means that you can simply flow data through it. You could get FFTs that window data, then output results at the same rate as the input. For Radar processing, this might be useful.
Ideally, you could flow GPT4 tokens through, the latency for a given stream would be horrible, but you could have millions of parallel streams.
To do this, you have to map the directed graph to hardware. In an FPGA this can take days because of the special modules, etc. This makes programming a nightmare. With a BitGrid, you can just use a greedy mapping algorithm, and Bob's your Uncle.
Because every cell is essentially the worlds smallest Excel Sheet cell, it's easy to know all of the dependencies for any given cell. You can move cells, rotate them, flip and mirror them if you need to maximize the utilization of hardware, or want to wall off a given graph inside walls for isolation.
Until recently, I've always thought of it as a chip, but recently I've come to see that you could just as well take a farm of RP2040 chips and have them all running slow simulators of a fairly huge BitGrid chips, and network them through their I/O pins to make an arbitrary size array, cheap!
The BitGrid topology thus becomes a universal computing solvent. Scaling anything that can be expressed as the directed graph can be run very slowly on a CPU with a lot of RAM/Disk, or quickly on silicon, with identical results. I think this could scale to PetaFlops quite cheaply (a few runs through TinyTapeOut then scaling up)
[1] https://github.com/mikewarot/Bitgrid
[2] https://mikewarot.github.io/Bitgrid_C/bitgrid_sim.html
[3] https://esolangs.org/wiki/Bitgrid