An open implementation of the CUDA API, known as libredcuda, is currently under development. This project aims to allow developers to run CUDA code on NVIDIA GPUs without the need for the proprietary CUDA Runtime. By directly accessing the hardware through IOctL call driver and manipulating commands through Memory-Mapped I/O (MMIO), libredcuda is able to execute code without relying on the CUDA Runtime. The project’s code is written in SI language and distributed under the MIT license.
Although still in the initial stages of development, libredcuda offers several functionalities. These include support for loading CUDA executable files in the ELF format, launching CUDA kernels based on command instructions, and allocating and freeing memory on the GPU. Additionally, libredcuda allows GPU memory to be accessed from CPU code. However, it is important to note that the project is not yet ready for use in production systems.