• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

NVIDIA Cracks Down on CUDA Translation Layers, Changes Licensing Terms

AleksandarK

News Editor
Staff member
Joined
Aug 19, 2017
Messages
2,255 (0.92/day)
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.



View at TechPowerUp Main Site | Source
 
Joined
Jan 18, 2020
Messages
691 (0.44/day)
Won't this just mean this stuff just goes on in China and Russia et al where it's very difficult or impossible to enforce IP licensing restrictions of this nature?
 
Joined
Aug 7, 2019
Messages
343 (0.20/day)
For my use case the worst part is that ZLUDA won't complete its work on OptiX. The speedup from HIP to CUDA was noticeable but the real gold is in OptiX.
 
Joined
Nov 27, 2023
Messages
1,146 (6.70/day)
System Name The Workhorse
Processor AMD Ryzen R9 5900X
Motherboard Gigabyte Aorus B550 Pro
Cooling CPU - Noctua NH-D15S Case - 3 Noctua NF-A14 PWM at the bottom, 2 Fractal Design 180mm at the front
Memory GSkill Trident Z 3200CL14
Video Card(s) NVidia GTX 1070 MSI QuickSilver
Storage Adata SX8200Pro
Display(s) LG 32GK850G
Case Fractal Design Torrent
Audio Device(s) FiiO E-10K DAC/Amp, Samson Meteorite USB Microphone
Power Supply Corsair RMx850 (2018)
Mouse Razer Viper (Original)
Keyboard Cooler Master QuickFire Rapid TKL keyboard (Cherry MX Black)
Software Windows 11 Pro (23H2)
Unsurprising. CUDA is the biggest advantage that NV has. They are not going to just let it go easily.

Won't this just mean this stuff just goes on in China and Russia et al where it's very difficult or impossible to enforce IP licensing restrictions of this nature?
I don’t think that’s what NV is worried of in this case. And I don’t know about China, but trust me, Russia is not going to reverse engineer CUDA anytime soon. Its technical capabilities are greatly exaggerated.
 
Joined
Jun 19, 2020
Messages
95 (0.07/day)
Such move is probably illegal anyway. There is even a precedent in US law, when IBM's hdds got reverse engineered in 196x.
I highly doubt, that those EULA changes will matter in EU or in China.
It's a futile effort anyway. Zluda is open source code, once released on internet it can become a hydra. You chop off one head and another will pop-up elsewhere.
 
Joined
Feb 18, 2005
Messages
5,328 (0.76/day)
Location
Ikenai borderline!
System Name Firelance.
Processor Threadripper 3960X
Motherboard ROG Strix TRX40-E Gaming
Cooling IceGem 360 + 6x Arctic Cooling P12
Memory 8x 16GB Patriot Viper DDR4-3200 CL16
Video Card(s) MSI GeForce RTX 4060 Ti Ventus 2X OC
Storage 2TB WD SN850X (boot), 4TB Crucial P3 (data)
Display(s) 3x AOC Q32E2N (32" 2560x1440 75Hz)
Case Enthoo Pro II Server Edition (Closed Panel) + 6 fans
Power Supply Fractal Design Ion+ 2 Platinum 760W
Mouse Logitech G602
Keyboard Logitech G613
Software Windows 10 Professional x64
I wonder if this is just NVIDIA being stupid, or something that Uncle Sam has asked for.
 
Joined
Jun 19, 2010
Messages
405 (0.08/day)
Location
Germany
Processor Ryzen 5600X
Video Card(s) RTX 3050
Software Win11
I think that it can be a conscious representation of safeguarding values and the will to enforce them. Representation of value and power.
 
Joined
Jan 10, 2011
Messages
1,334 (0.27/day)
Location
[Formerly] Khartoum, Sudan.
System Name 192.168.1.1~192.168.1.100
Processor AMD Ryzen5 5600G.
Motherboard Gigabyte B550m DS3H.
Cooling AMD Wraith Stealth.
Memory 16GB Crucial DDR4.
Video Card(s) Gigabyte GTX 1080 OC (Underclocked, underpowered).
Storage Samsung 980 NVME 500GB && Assortment of SSDs.
Display(s) LG 24MK430 primary && Samsung S24D590 secondary
Case Corsair Graphite 780T.
Audio Device(s) On-Board.
Power Supply SeaSonic CORE GM-650.
Mouse Coolermaster MM530.
Keyboard Kingston HyperX Alloy FPS.
VR HMD A pair of OP spectacles.
Software Ubuntu 22.04 LTS.
Benchmark Scores Me no know English. What bench mean? Bench like one sit on?
I wonder if this is just NVIDIA being stupid, or something that Uncle Sam has asked for.
Wouldn't call it stupid. Quite the opposite from a business pov. The adjective "evil," however...

But I guess whether it's indeed stupid or not is up to courts to settle. Whether people making the translation layers could successfully argue the interoperability case, or Nvidia the patents/contractual ones.
I just hope AMD or Intel back the former.
 
Joined
May 7, 2020
Messages
43 (0.03/day)
Let's say a guy wants to reverse engineer cuda, without a license, could he buy a cuda written piece of software from another guy who has agreed to the cuda license?
If not, it would mean you could only use your programs for personal use, because you have no means to know if a buyer, or employer, will use your programs to reverse engineer them.
 
Joined
Jan 10, 2011
Messages
1,334 (0.27/day)
Location
[Formerly] Khartoum, Sudan.
System Name 192.168.1.1~192.168.1.100
Processor AMD Ryzen5 5600G.
Motherboard Gigabyte B550m DS3H.
Cooling AMD Wraith Stealth.
Memory 16GB Crucial DDR4.
Video Card(s) Gigabyte GTX 1080 OC (Underclocked, underpowered).
Storage Samsung 980 NVME 500GB && Assortment of SSDs.
Display(s) LG 24MK430 primary && Samsung S24D590 secondary
Case Corsair Graphite 780T.
Audio Device(s) On-Board.
Power Supply SeaSonic CORE GM-650.
Mouse Coolermaster MM530.
Keyboard Kingston HyperX Alloy FPS.
VR HMD A pair of OP spectacles.
Software Ubuntu 22.04 LTS.
Benchmark Scores Me no know English. What bench mean? Bench like one sit on?
Let's say a guy wants to reverse engineer cuda, without a license, could he buy a cuda written piece of software from another guy who has agreed to the cuda license?
If not, it would mean you could only use your programs for personal use, because you have no means to know if a buyer, or employer, will use your programs to reverse engineer them.

The license does allow publishing software that were made using CUDA libraries, toolkit, sdk, logos and branding, etc. Some parts they are allowed distribute with their software (libs), others they are not (the sdk itself).

The end user of the published software is also bound by the agreements regarding the components they use running the application (libs, drivers, logos), like the ones we automatically go for the "I agree/accept" button in when installing drivers. The application's publisher is not responsible for end user's breach of said agreements.
 
Joined
Sep 6, 2013
Messages
3,032 (0.78/day)
Location
Athens, Greece
System Name 3 desktop systems: Gaming / Internet / HTPC
Processor Ryzen 5 5500 / Ryzen 5 4600G / FX 6300 (12 years latter got to see how bad Bulldozer is)
Motherboard MSI X470 Gaming Plus Max (1) / MSI X470 Gaming Plus Max (2) / Gigabyte GA-990XA-UD3
Cooling Νoctua U12S / Segotep T4 / Snowman M-T6
Memory 16GB G.Skill RIPJAWS 3600 / 16GB G.Skill Aegis 3200 / 16GB Kingston 2400MHz (DDR3)
Video Card(s) ASRock RX 6600 + GT 710 (PhysX)/ Vega 7 integrated / Radeon RX 580
Storage NVMes, NVMes everywhere / NVMes, more NVMes / Various storage, SATA SSD mostly
Display(s) Philips 43PUS8857/12 UHD TV (120Hz, HDR, FreeSync Premium) ---- 19'' HP monitor + BlitzWolf BW-V5
Case Sharkoon Rebel 12 / Sharkoon Rebel 9 / Xigmatek Midguard
Audio Device(s) onboard
Power Supply Chieftec 850W / Silver Power 400W / Sharkoon 650W
Mouse CoolerMaster Devastator III Plus / Coolermaster Devastator / Logitech
Keyboard CoolerMaster Devastator III Plus / Coolermaster Devastator / Logitech
Software Windows 10 / Windows 10 / Windows 7
This is typical of Nvidia. That's Nvidia's business model. Nothing new here.
What is unfortunate, is when looking on the internet comments that laugh at AMD, for opening up it's techs and praising Nvidia for making everything proprietary and enforcing restrictions of any kind on it.
 
Joined
Feb 18, 2005
Messages
5,328 (0.76/day)
Location
Ikenai borderline!
System Name Firelance.
Processor Threadripper 3960X
Motherboard ROG Strix TRX40-E Gaming
Cooling IceGem 360 + 6x Arctic Cooling P12
Memory 8x 16GB Patriot Viper DDR4-3200 CL16
Video Card(s) MSI GeForce RTX 4060 Ti Ventus 2X OC
Storage 2TB WD SN850X (boot), 4TB Crucial P3 (data)
Display(s) 3x AOC Q32E2N (32" 2560x1440 75Hz)
Case Enthoo Pro II Server Edition (Closed Panel) + 6 fans
Power Supply Fractal Design Ion+ 2 Platinum 760W
Mouse Logitech G602
Keyboard Logitech G613
Software Windows 10 Professional x64
Wouldn't call it stupid. Quite the opposite from a business pov. The adjective "evil," however...
Evil and stupid are synonyms in my book. Especially when law gets involved.
 
Joined
Feb 11, 2009
Messages
5,409 (0.97/day)
System Name Cyberline
Processor Intel Core i7 2600k -> 12600k
Motherboard Asus P8P67 LE Rev 3.0 -> Gigabyte Z690 Auros Elite DDR4
Cooling Tuniq Tower 120 -> Custom Watercoolingloop
Memory Corsair (4x2) 8gb 1600mhz -> Crucial (8x2) 16gb 3600mhz
Video Card(s) AMD RX480 -> RX7800XT
Storage Samsung 750 Evo 250gb SSD + WD 1tb x 2 + WD 2tb -> 2tb MVMe SSD
Display(s) Philips 32inch LPF5605H (television) -> Dell S3220DGF
Case antec 600 -> Thermaltake Tenor HTCP case
Audio Device(s) Focusrite 2i4 (USB)
Power Supply Seasonic 620watt 80+ Platinum
Mouse Elecom EX-G
Keyboard Rapoo V700
Software Windows 10 Pro 64bit
I dont really understand how this is enforceable
 

Essaudio

New Member
Joined
Aug 25, 2022
Messages
4 (0.01/day)
This isn’t designed to technically stop any and all usages of translation layers but to dissuade large commercial entities from adopting it as an official / commercial approach to accelerating CUDA workloads on non Nvidia hardware. If anything it will push people to support open layers instead, not a terrible thing.
The annoyance is really with existing projects that are unmotivated or unable to change cuda only support which is really what these layers are useful for (IMO) rather than for new projects not supporting open acceleration.
 
Joined
Mar 11, 2009
Messages
1,778 (0.32/day)
Location
Little Rock, AR
System Name Gamer
Processor AMD Ryzen 3700x
Motherboard AsRock B550 Phantom Gaming ITX/AX
Memory 32GB
Video Card(s) ASRock Radeon RX 6800 XT Phantom Gaming D
Case Phanteks Eclipse P200A D-RGB
Power Supply 800w CM
Mouse Corsair M65 Pro
Software Windows 10 Pro
This reads as if you're insinuating that RocM and One API are cuda translation layers... That's not the case.
 
Joined
May 20, 2020
Messages
1,298 (0.89/day)
I wonder if this is just NVIDIA being stupid, or something that Uncle Sam has asked for.
Why stupid? I remember well when/how it started - it was Cg or C for graphics on GeForce3 and much time and effort went into producing the tool CUDA is today, so no wonder nvidia defends it. AMD and intel surely didn't chip in for development... Make sense.
 
Joined
Feb 23, 2019
Messages
5,662 (2.97/day)
Location
Poland
Processor Ryzen 7 5800X3D
Motherboard Gigabyte X570 Aorus Elite
Cooling Thermalright Phantom Spirit 120 SE
Memory 2x16 GB Crucial Ballistix 3600 CL16 Rev E @ 3800 CL16
Video Card(s) RTX3080 Ti FE
Storage SX8200 Pro 1 TB, Plextor M6Pro 256 GB, WD Blue 2TB
Display(s) LG 34GN850P-B
Case SilverStone Primera PM01 RGB
Audio Device(s) SoundBlaster G6 | Fidelio X2 | Sennheiser 6XX
Power Supply SeaSonic Focus Plus Gold 750W
Mouse Endgame Gear XM1R
Keyboard Wooting Two HE
I dont really understand how this is enforceable
Easy, if AMD of Intel says that they can run CUDA workloads on their GPUs then Nvidia can step in with the lawsuit claiming that they use translation layers that break CUDA EULA.
 
Joined
Nov 26, 2021
Messages
1,372 (1.52/day)
Location
Mississauga, Canada
Processor Ryzen 7 5700X
Motherboard ASUS TUF Gaming X570-PRO (WiFi 6)
Cooling Noctua NH-C14S (two fans)
Memory 2x16GB DDR4 3200
Video Card(s) Reference Vega 64
Storage Intel 665p 1TB, WD Black SN850X 2TB, Crucial MX300 1TB SATA, Samsung 830 256 GB SATA
Display(s) Nixeus NX-EDG27, and Samsung S23A700
Case Fractal Design R5
Power Supply Seasonic PRIME TITANIUM 850W
Mouse Logitech
VR HMD Oculus Rift
Software Windows 11 Pro, and Ubuntu 20.04
Why stupid? I remember well when/how it started - it was Cg or C for graphics on GeForce3 and much time and effort went into producing the tool CUDA is today, so no wonder nvidia defends it. AMD and intel surely didn't chip in for development... Make sense.
Should x86 emulation or PS3 emulation be illegal as well? Should Wine be illegal too?
 
Joined
Mar 29, 2014
Messages
351 (0.09/day)
This shows how much of Nvidia's success is due to monopolizing a software market. Time for the government to step in and end this.
 
Joined
Feb 18, 2005
Messages
5,328 (0.76/day)
Location
Ikenai borderline!
System Name Firelance.
Processor Threadripper 3960X
Motherboard ROG Strix TRX40-E Gaming
Cooling IceGem 360 + 6x Arctic Cooling P12
Memory 8x 16GB Patriot Viper DDR4-3200 CL16
Video Card(s) MSI GeForce RTX 4060 Ti Ventus 2X OC
Storage 2TB WD SN850X (boot), 4TB Crucial P3 (data)
Display(s) 3x AOC Q32E2N (32" 2560x1440 75Hz)
Case Enthoo Pro II Server Edition (Closed Panel) + 6 fans
Power Supply Fractal Design Ion+ 2 Platinum 760W
Mouse Logitech G602
Keyboard Logitech G613
Software Windows 10 Professional x64
Why stupid?
People will always figure out a way to circumvent a closed ecosystem. The only way to prevent this is by making those circumventions illegal via your EULA, aka protectionism, which inherently decreases the appeal of your ecosystem as fewer people can use it. And eventually, you'll step too far, and someone will challenge your EULA in court, and you'll lose. This is exactly what has happened to Apple - after being allowed to dictate exactly how people use its products for far too long, the EU has finally stepped up to enforce consumers' rights. Court cases are bad for share prices, and especially bad if the company loses.

Therefore, closed ecosystems always ultimately fail, which means they are ultimately stupid. Expending massive amounts of effort in an attempt to protect them will ultimately fail, so this is also stupid.

The smart thing to do would be to start negotiating with other GPU vendors to come up with a shared open standard that just so happens to look a lot like CUDA, and just so happens to require very minimal translation from CUDA. Boom, you've immediately got a rung up on the competition because they have to expend way more effort to make their cards work with your not-CUDA. And because not-CUDA is so similar to CUDA and so easy to port over, users who are already using CUDA won't be unduly affected. As a bonus, because this standard is based on CUDA, NVIDIA would wield a lot of control over it - which is exactly what they want anyway.

Unfortunately, corporations rarely make logical decisions.
 
Joined
May 20, 2020
Messages
1,298 (0.89/day)
Should x86 emulation or PS3 emulation be illegal as well? Should Wine be illegal too?
Not at all.
People will always figure out a way to circumvent a closed ecosystem. The only way to prevent this is by making those circumventions illegal via your EULA, aka protectionism, which inherently decreases the appeal of your ecosystem as fewer people can use it. And eventually, you'll step too far, and someone will challenge your EULA in court, and you'll lose. This is exactly what has happened to Apple - after being allowed to dictate exactly how people use its products for far too long, the EU has finally stepped up to enforce consumers' rights. Court cases are bad for share prices, and especially bad if the company loses.

Therefore, closed ecosystems always ultimately fail, which means they are ultimately stupid. Expending massive amounts of effort in an attempt to protect them will ultimately fail, so this is also stupid.

The smart thing to do would be to start negotiating with other GPU vendors to come up with a shared open standard that just so happens to look a lot like CUDA, and just so happens to require very minimal translation from CUDA. Boom, you've immediately got a rung up on the competition because they have to expend way more effort to make their cards work with your not-CUDA. And because not-CUDA is so similar to CUDA and so easy to port over, users who are already using CUDA won't be unduly affected. As a bonus, because this standard is based on CUDA, NVIDIA would wield a lot of control over it - which is exactly what they want anyway.

Unfortunately, corporations rarely make logical decisions.
Makes even more sense, thank you.
 
Joined
Nov 22, 2023
Messages
142 (0.81/day)
This isn’t designed to technically stop any and all usages of translation layers but to dissuade large commercial entities from adopting it as an official / commercial approach to accelerating CUDA workloads on non Nvidia hardware. If anything it will push people to support open layers instead, not a terrible thing.
The annoyance is really with existing projects that are unmotivated or unable to change cuda only support which is really what these layers are useful for (IMO) rather than for new projects not supporting open acceleration.

- Yup, the whole point here is the chilling effect. NV might not even try and go after people making translation layers, but they will absolutely get any major players who think of using AMD/Intel systems to think thrice.

A lot of people calling it evil, but its just business. CUDA is a proprietary programming language for NV GPUs. They didn't put in a ton of work building this ecosystem only to lose it to their competitors who piggyback off their work.

An alternative is NV writes a deliberately crippled translation layer and builds it into CUDA licensing as a poison pill to third party efforts.

AMD and Intel can build their own ground up programming languages for their hardware, but as we've seen, that's really really hard.
 
Joined
Jan 3, 2021
Messages
2,751 (2.24/day)
Location
Slovenia
Processor i5-6600K
Motherboard Asus Z170A
Cooling some cheap Cooler Master Hyper 103 or similar
Memory 16GB DDR4-2400
Video Card(s) IGP
Storage Samsung 850 EVO 250GB
Display(s) 2x Oldell 24" 1920x1200
Case Bitfenix Nova white windowless non-mesh
Audio Device(s) E-mu 1212m PCI
Power Supply Seasonic G-360
Mouse Logitech Marble trackball, never had a mouse
Keyboard Key Tronic KT2000, no Win key because 1994
Software Oldwin
Should x86 emulation or PS3 emulation be illegal as well?
X86 emulation is allowed. Emulation of X86 ISA extensions that are still under patent protection is allowed if you're Microsoft or Apple. Emulation of Arm ISA, for example - I don't know but Arm ISA is a major product they make money on, by selling it to architectural licence holders. QEMU is inefficient enough and Arm doesn't see it as a threat.
 
Joined
Mar 29, 2014
Messages
351 (0.09/day)
- Yup, the whole point here is the chilling effect. NV might not even try and go after people making translation layers, but they will absolutely get any major players who think of using AMD/Intel systems to think thrice.

A lot of people calling it evil, but its just business. CUDA is a proprietary programming language for NV GPUs. They didn't put in a ton of work building this ecosystem only to lose it to their competitors who piggyback off their work.

An alternative is NV writes a deliberately crippled translation layer and builds it into CUDA licensing as a poison pill to third party efforts.

AMD and Intel can build their own ground up programming languages for their hardware, but as we've seen, that's really really hard.
It's not that hard. What's hard is convincing the entrenched corparations to move away from anything not CUDA.
 
Top