5 ms·
A History of Functional Hardware
- FullyFunctional 3y agoImpressive presentation but I find two things missing in particular: * GRIN [1] - arguably a breakthrough in FP compilation; there are several implementation based on this * HVM [2] - parallel optimal reduction. The results are very impressive. [1] https://link.springer.com/chapter/10.1007/3-540-63237-9_19 https://link.springer.com/chapter/10.1007/3-540-63237-9_19 [2] https://github.com/HigherOrderCO/HVM https://github.com/HigherOrderCO/HVM
- mikewarot 3y agoWarning: I'm describing a pet project I've had since the 1980s...the bitgrid (Why: Because it seems like we almost touched it at many points along the history) I have always thought that a sufficiently homogeneous FPGA would be a perfect chip for mapping functions to cells in a grid. It's the routing fabric that always seems to be the fly in the ointment. What if you could just have a huge grid of LUTs (Look Up Tables) that feed into their neighbors? You might get into trouble with race conditions. To solve that, just divide the grid into 2 phases, like the colors on a chess board. This solves the timing issues, and makes everything tractable. Sure it wastes a ton of transistors in the limit, but you get infinite flexibility in the trade, so you don't have to wait for routing software to "compile" your logic into binary the chip can handle. It's the ultimate in functional programming... every line of code becomes an area of LUTs committed to a physical location on the computing fabric, and all I/O is known, no unwanted side effects, ever. Since all the code runs simultaneously, you should be able to get huge speedups over the Von Neuman model of compute.