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.
Not going to get excited about it until it had time to mature and actually used in production.
At which point, I am all for it.
I remember being hyped for GNUStep years ago and I still can’t just recompile my old Cocoa applications.
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.
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.
IIRC it wasn’t legal action from Nvidia, but rather AMD pulling the funding that killed ZLUDA.