Contribute to mikex86/LibreCuda development by creating an account on GitHub.
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.
I'm going to get excited about it now, and report bugs for it, because I actually want it to be production ready without pretending the few maintainers this has are gods.
Yeah any reverse engineering of closed source code takes time. It's a huge job on its own. Adding the need to avoid actions that may lead to legal issues.
Well yep, It's very likely this may never round to a perfect replacement product.
But it still has value. For starters, it will encourage new open source projects to use it rather than the propria try version, long before it's a direct replacement capable product.
So the effort is worth some excitement. At least a pat on the back and free beer for some of the guys trying.
Hopefully they have better defenses against legal action from Nvidia than ZLUDA did.
In the past, re-implementing APIs has been deemed fair use in court (for example, Oracle v Google a few years back). I'm not entirely sure why ZLUDA was taken down; maybe just to avoid the trouble of a legal battle, even if they could win. I'm not a lawyer so I can only guess.
Validity aside, I expect Nvidia will try to throw their weight around.