A free GPU for RISC-V, RV64X
Pixilica partners with RV64X to propose a new set of graphics instructions designed for 3D graphics and media processing. It can be a fused CPU-GPU ISA.
These new instructions are built on the RISC-V base vector instruction set. They will add support for new data types that are graphics specific as layered extensions in the spirit of the core RISC-V ISA.
The RV64X Reference Implementation includes an Instruction/Data SRAM Cache (32KB), a Microcode SRAM(8KB), a Dual Function Instruction Decoder, an Hardwired implementing RV32V and X, a Micro-coded Instruction Decoder for custom ISA, a Quad Vector ALU (32 bits/ALU – fixed/float), a 136-bit Register Files (1K elements), a Special Function Unit, a Texture Unit, and a Configurable local Frame Buffer.
This implementation is designed to be flexible enough so that it can implement Custom pipeline stages, custom geometry/pixel/frame buffer stages, custom tessellators, and custom instancing operations. This implementation is optimized to be small and area-efficient with custom programmability and extensibility. It can be implemented in FPGA and ASIC targets and will be free and open source.
Scalability and Extensions
The Reference Implementation is meant to be scalable and we propose several novel ideas including fused unified CPU-GPU ISA, configurable registers for custom data types, and user-defined SRAM based micro-code for application defined custom hardware extensions for various fields of applications.
Custom rasterizer stage
The rasterization stage converts vector information (composed of shapes or primitives) into a raster image (composed of pixels) for the purpose of displaying real-time 3D graphics.
Ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with objects.
Machine learning is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead.
Key Points and Contact
The world has plenty of GPUs to choose from, why a Graphical ISA? Because we think commercial GPUs are less effective at meeting unusual needs such as dual-phase 3D frustum clipping, hardware SLAM, and more.
We think collaboration provides flexible standards, reduces the 10-20 man year effort otherwise needed, and help with cross-verification to avoid mistakes. Demos and benchmarks are being designed, and if anyone interested in helping with this, contact us.