VeriGPU: GPU in Verilog loosely based on RISC-V ISA
github.com
github.com
It unfortunately wouldn't be very cost-effective for training ML models, but it would take things a step closer to actual tape-out (if some organization has the $$$ for it).
But I love that this is even in the realm of possibilities! There's no reason we couldn't, in principle, have a small open-source GPU taping out on the free Skywater shuttle, and I am here for it!
For the H100, very minimalistic FF support was picked.
Only two TPCs in both the SXM5 and PCIe H100 GPUs are graphics-capable (that is, they can run vertex, geometry, and pixel shaders). And that’s out of:
8 GPCs, 66 TPCs, 2 SMs/TPC, 132 SMs per GPU
for an H100 SXM5.
Aka just for compatibility.
A RISC-V open source TPU would be a big innovation in AI and scientific computing.
Very amateur question: I thought RISC-V added vector extensions so you could use it directly for GPU/TPU chips without having to fragment the ecosystem?
For instance, the int multiplier design is overengineered, very naive and far from state of the art (no pipeline, no adder compressor). I would suggest the author to check wallace tree multiplier.
But at this stage it would be preferable to use the native verilog multiply or a DSP macro to target FPGA for prototyping, and to focus the SIMT architecture and the pipelining. Arithmetic unit design is a science in its own.
However it's a beautiful project!
You mean that the latest idTech engine is not using the fixed-function 3D pipeline at all, namely full compute (no vertex/fragment shaders)? Still using the texture sampling units?
> Branching: Done
> Single instruction multiple thread (SIMT): Planned
I guess we should be supportive, and it is impressive how far they got on the software side, but boy, is the author in for a surprise.