Merged today to the Tinygrad deep learning framework is a Mesa NIR back-end to allow targeting that common intermediate representation used by these open-source Linux GPU drivers. Initially supported with this Tinygrad NIR back-end is the open-source NVIDIA Vulkan driver “NVK” with its Rust-based NAK compiler as well as the CPU-based LLVMpipe driver.
Tinygrad continues to serve as quite a versatile and open-source deep learning framework. Tinygrad already has back-ends for CPUs, OpenCL, Apple Metal, NVIDIA CUDA, AMD, Qualcomm, WebGPU, and more. The latest achievement is now having a Mesa NIR back-end to open up the door to more of these open-source GPU drivers though for now at least is limited to the NVK and LLVMpipe driv…
Merged today to the Tinygrad deep learning framework is a Mesa NIR back-end to allow targeting that common intermediate representation used by these open-source Linux GPU drivers. Initially supported with this Tinygrad NIR back-end is the open-source NVIDIA Vulkan driver “NVK” with its Rust-based NAK compiler as well as the CPU-based LLVMpipe driver.
Tinygrad continues to serve as quite a versatile and open-source deep learning framework. Tinygrad already has back-ends for CPUs, OpenCL, Apple Metal, NVIDIA CUDA, AMD, Qualcomm, WebGPU, and more. The latest achievement is now having a Mesa NIR back-end to open up the door to more of these open-source GPU drivers though for now at least is limited to the NVK and LLVMpipe drivers.
Christopher Milan opened the merge request last month for a Mesa NIR back-end and “Tinymesa” as derived from Mesa builds for providing the needed library integration.
With the NVK Vulkan driver with NAK compiler route, it bypasses NVIDIA’s NVPTX and goes straight to the NVIDIA SASS low-level Assembly code. Paired with the Nouveau kernel driver (or future Nova kernel driver) is then a fully free software path for deep learning on NVIDIA GPU hardware.
The initial performance of this Mesa NIR back-end for Tinygrad has been described as “decent”. Those curious on this new code merged today to upstream Tinygrad can be found via this pull request.
Separately, in case you missed it, recently CLUDA is being hacked on for Mesa as a Gallium3D API atop NVIDIA’s CUDA driver API.