An LGPL-Licensed, Larrabee-Inspired GPGPU Processor
A Phoronix reader pointed out this weekend the Nyuzi Processor, an GPL/LGPL-licensed design that's inspired by Intel's failed Larrabee graphics processor design. The Nyuzi Processor is fully open-source with its Verilog, documentation, tests, compiler/tools, etc.
The Nyuzi Processor is described as, "a GPGPU processor core implemented in SystemVerilog. It features a pipelined vector floating point unit, fine grained hardware multithreading, multiprocessor support, and a coherent L1/L2 cache hierarchy. It is fully synthesizable and has been validated on FPGA. This project also includes a C++ toolchain based on LLVM, an emulator, software libraries, and RTL verification tests. It is useful as a platform for microarchitecture experimentation, performance modeling, and parallel software development."
Theo Markettos who has been developing this open-source GPU design wrote about this last month on the lowRISC mailing list, "The processor supports a wide, predicated vector floating point pipeline with 16 lanes and multiple hardware threads to hide memory and computation latency. It also supports multiple cache coherent cores. I've created an LLVM backend for this, so C/C++ code can be compiled for it. It includes support for first class vector types using the GCC vector extensions, as well as a intrinsics to expose specialized instructions. I've written a 3D engine (software/librender) that is optimized to take advantage both of the vector unit and multiple cores/hardware threads. Here's a video of the standard teapot (with ~2300 triangles) rendering on a single core on FPGA running at 50 Mhz."
They ended with, "It's GPL/LGPL. I haven't looked in detail, but it has a cache, a compiler and a testsuite which is a lot more than many open source hardware projects." Nyuzi is just one of many open-source GPU attempts but at least this project seems to be doing well given its stage and that it's actively being worked on. Learn more about it at the GitHub project site.