LibreCUDA LibreCUDA is a project aimed at replacing the CUDA driver API to enable launching CUDA code on Nvidia GPUs without relying on the…
LibreCUDA LibreCUDA is a project aimed at replacing the CUDA driver API to enable launching CUDA code on Nvidia GPUs without relying on the…
LibreCUDA is a project aimed at replacing the CUDA driver API to enable launching CUDA code on Nvidia GPUs without relying on the proprietary CUDA runtime. It achieves this by communicating directly with the hardware via ioctls, ( specifically what Nvidia's open-gpu-kernel-modules refer to as the rmapi), as well as QMD, Nvidia's MMIO command queue structure. LibreCUDA is capable of uploading CUDA ELF binaries onto the GPU and launching them via the command queue.
Below is an example demonstrating the usage of LibreCUDA:
…Device count: 1
Num functions: 1
function "write_float"
Src value: 3.1415
Dst value (pre exec): 0
Dst value (post exec): 3.1415The recommended way to use librecuda is to clone the LibreCUDA repository and link against the driverapi library in
CMake:
git clone --recurse https://github.com/mikex86/LibreCuda.gitadd_subdirectory(LibreCuda)target_link_libraries(YourTarget PRIVATE driverapi)#include The project is in its early stages and currently implements only rudimentary CUDA functions. It is not yet ready for production use.
Contributions are welcome! Please submit issues and pull requests to help improve LibreCUDA.
This project is licensed under the MIT License.
No open issues yet, or sync has not completed.