Wednesday, March 6th 2024
NVIDIA Cracks Down on CUDA Translation Layers, Changes Licensing Terms
NVIDIA's Compute Unified Device Architecture (CUDA) has long been the de facto standard programming interface for developing GPU-accelerated software. Over the years, NVIDIA has built an entire ecosystem around CUDA, cementing its position as the leading GPU computing and AI manufacturer. However, rivals AMD and Intel have been trying to make inroads with their own open API offerings—ROCm from AMD and oneAPI from Intel. The idea was that developers could more easily run existing CUDA code on non-NVIDIA GPUs by providing open access through translation layers. Developers had created projects like ZLUDA to translate CUDA to ROCm, and Intel's CUDA to SYCL aimed to do the same for oneAPI. However, with the release of CUDA 11.5, NVIDIA appears to have cracked down on these translation efforts by modifying its terms of use, according to developer Longhorn on X.
"You may not reverse engineer, decompile or disassemble any portion of the output generated using Software elements for the purpose of translating such output artifacts to target a non-NVIDIA platform," says the CUDA 11.5 terms of service document. The changes don't seem to be technical in nature but rather licensing restrictions. The impact remains to be seen, depending on how much code still requires translation versus running natively on each vendor's API. While CUDA gave NVIDIA a unique selling point, its supremacy has diminished as more libraries work across hardware. Still, the move could slow the adoption of AMD and Intel offerings by making it harder for developers to port existing CUDA applications. As GPU-accelerated computing grows in fields like AI, the battle for developer mindshare between NVIDIA, AMD, and Intel is heating up.
Source:
HardwareLuxx
"You may not reverse engineer, decompile or disassemble any portion of the output generated using Software elements for the purpose of translating such output artifacts to target a non-NVIDIA platform," says the CUDA 11.5 terms of service document. The changes don't seem to be technical in nature but rather licensing restrictions. The impact remains to be seen, depending on how much code still requires translation versus running natively on each vendor's API. While CUDA gave NVIDIA a unique selling point, its supremacy has diminished as more libraries work across hardware. Still, the move could slow the adoption of AMD and Intel offerings by making it harder for developers to port existing CUDA applications. As GPU-accelerated computing grows in fields like AI, the battle for developer mindshare between NVIDIA, AMD, and Intel is heating up.
35 Comments on NVIDIA Cracks Down on CUDA Translation Layers, Changes Licensing Terms
No I don't agree with it either but it seems to be law right now. All those are really in a legal grey area since Oracle v Google. Wine basically exists because Microsoft doesn't want the bad PR of suing it. Transmeta was made before the Oracle v Google case so they didn't know what hot water it was getting into.
Nvidia can write what they want, but they have no legal standing. No one is reverse engineering their API.
Google vs Oracle
What exactly is Nvidia trying to protect here? Not the ISA - it remains secure by being obscure enough, as of now. Not the CUDA API - at least Tom's Hardware notes that "Recompiling existing CUDA programs remains perfectly legal. To simplify this, both AMD and Intel have tools to port CUDA programs to their ROCm and OpenAPI platforms, respectively."
So they are legally protecting their compiled binaries, or rather the IP contained within. The big precious bunch of optimisations and whatever else. And how much does this matter? Full compilation is necessary anyway if one wants the best performance, and we don't buy accelerators for mediocre performance, right?
For example. Let's say that I go to my neighbor and I say "Look, we are good neighbors but if you keep watering your garden at 10 pm I will call the police and sue you". Even if my neighbor knows that the police will do nothing and I have no legal base in what I say, he still might stop or consider stopping watering his garden at 10 pm just to avoid ending up with a hostile neighbor. And in my opinion, this is what Nvidia tries to do. Scare people.