Open source project is making strides in bringing CUDA to non-Nvidia GPUs

Alfonso Maruccia

Posts: 1,859   +559
Staff
Why it matters: Nvidia introduced CUDA in 2006 as a proprietary API and software layer that eventually became the key to unlocking the immense parallel computing power of GPUs. CUDA plays a major role in fields such as artificial intelligence, scientific computing, and high-performance simulations. But running CUDA code has remained largely locked to Nvidia hardware. Now, an open-source project is working to break that barrier.

By enabling CUDA applications to run on third-party GPUs from AMD, Intel, and others, this effort could dramatically expand hardware choice, reduce vendor lock-in, and make powerful GPU computing more accessible than ever.

The Zluda team recently shared its latest quarterly update, confirming that the project remains focused on fully implementing CUDA compatibility on non-Nvidia graphics accelerators. Zluda's stated goal is to offer a drop-in replacement for CUDA on AMD, Intel, and other GPU architectures – allowing users and developers to run unmodified CUDA-based applications with "near-native" performance.

A most promising change for Zluda is that its team has doubled in size. There are now two full-time developers working on the project. The newly added developer, known as "Violet," has already made notable contributions to the tool's official open-source repository on GitHub.

Other important updates involve improvements to the ROCm/HIP GPU runtime, which should now function reliably on both Linux and Windows. GPU runtimes like CUDA and ROCm are designed to compile GPU code at runtime, ensuring that code developed for older hardware can typically compile and run on newer GPU architectures with minimal issues.

Zluda is also now significantly better at executing unmodified CUDA binaries on non-Nvidia GPUs. Previously, the tool either ignored certain instruction modifiers or failed to execute them with full precision. Now, the improved code can handle some of the trickiest cases – such as the cvt instruction – with bit-accurate precision.

A key step in fully supporting CUDA applications is tracking how code interacts with the API through detailed logging. Zluda has improved in this area as well. It can now capture previously overlooked interactions and even handle intermediate API calls.

Also see: Not just the hardware: How deep is Nvidia's software moat?

The developers also made meaningful progress in supporting llm.c, a pure CUDA test implementation (written in C) for language models like GPT-2 and GPT-3. Zluda currently implements 16 out of 44 functions in llm.c, and the team hopes to fully run the test soon.

Finally, Zluda has advanced slightly in its potential support for 32-bit PhysX code. Nvidia dropped both hardware and software support for this middleware with the Blackwell-based GeForce 50 series GPUs, leaving fans of old(ish) games with what can be essentially described as a broken or subpar experience.

In the past quarter, Zluda received a minor update related to 32-bit PhysX support. The initial focus is on efficiently collecting CUDA logs to identify potential bugs, which can eventually affect 64-bit PhysX code as well. However, the developers caution that full 32-bit PhysX support will likely require significant contributions from third-party coders.

Permalink to story:

 
I can understand the drive to protect profits by intentional incompatibility with other hardware. However, it's this sort of work that actually marks progress, when a wider variety of hardware can make use. Until everyone can use it and work on it out in the open, it's just an expensive risk.
 
I love how the "team has doubled in size" means there are now two people. It’s giving big indie energy, like if Valve games were made by your two most caffeinated college friends.

Now... for a multi-billion-dollar industry at stake, one would think many more people (and corporations) would get more financial muscle behind this, and fast.
 
Zluda pulling off CUDA compatibility on AMD and Intel is like getting iMessage to work flawlessly on Android. It sounds mythical, but if they pull it off, people might start looking at GPUs the way we look at USB cables: universal and not bound to a single tech overlord.
 
I am looking forward to the day of not having to own an NVIDIA card to do CUDA work. This is an exciting project. Seriously, this is the only reason why I own NVIDIA right now...
 
How will nVidia try to thwart this, is the real question. Almost seems like they should have opened up CUDA years ago, running in a limited performance mode on non-native GPUs, so they could ultimately both control the SDK as well as the perception of performance.
 
I love how the "team has doubled in size" means there are now two people. It’s giving big indie energy, like if Valve games were made by your two most caffeinated college friends.

Now... for a multi-billion-dollar industry at stake, one would think many more people (and corporations) would get more financial muscle behind this, and fast.

This project was previously sponsored by AMD. It was originally independent then AMD was the one paying for development then they decided they didn’t want to sponsor it anymore. The code was published on GitHub and AMD forced the author to pull it. Now the project has started over.
 
This project was previously sponsored by AMD. It was originally independent then AMD was the one paying for development then they decided they didn’t want to sponsor it anymore. The code was published on GitHub and AMD forced the author to pull it. Now the project has started over.

I wouldn't be surprised if AMD got a nicely worded letter from Nvida lawyers to stop. Nvidia is a lot like Nintendo in that they know that CUDA is really the golden goose in all of this. And it's probably for the better. If this is done independently, clean sheet by programmers who aren't versed in the nuts and bolts of the original code or how it works, then reverse engineering the code could be considered legal.

Much like how Compaq reverse engineered the original IBM PC bios code to start making PC clones.
 
As soon as this is promising enough expect NVIDIA to come with CUDA2.0 that will add very little besides being harder to reverse engineer.
NVIDIA really only has two major things over AMD, Cash and CUDA. Should this reach a point of maturity where say Microsoft offers their CUDA Azure stuff on AMD hardware and strikes a deal with AMD to inject billions that could quickly shift
 
I wouldn't be surprised if AMD got a nicely worded letter from Nvida lawyers to stop. Nvidia is a lot like Nintendo in that they know that CUDA is really the golden goose in all of this. And it's probably for the better. If this is done independently, clean sheet by programmers who aren't versed in the nuts and bolts of the original code or how it works, then reverse engineering the code could be considered legal.

Much like how Compaq reverse engineered the original IBM PC bios code to start making PC clones.
The ZLUDA devs make clear in blog posts nvidia hasn’t tied to stop the project
 
The ZLUDA devs make clear in blog posts nvidia hasn’t tied to stop the project

I don't think Nvidia has talked to them....yet. It still stands, I could be mistaken, but I recall Nvidia did stop a few efforts that were probably a little less reverse engineering and more using CUDA with a translation layer or some such thing. I wouldn't put it past Nvidia to wait until it is a threat before they haul out the lawyers to keep it off the market, if they can.

I have always maintained that CUDA is the reason for Nvidia's rise not the hardware. AMD's Instinct MI series is more than capable hardware to take them head on, but getting the software up to snuff is what's stoppinbg wider adoption.
 
How will nVidia try to thwart this, is the real question. Almost seems like they should have opened up CUDA years ago, running in a limited performance mode on non-native GPUs, so they could ultimately both control the SDK as well as the perception of performance.
Why would they have opened CUDA years ago when that CUDA has granted them a near monopoly and a near $4 TRILLION valuation? They already have full control over the SDK (seriously, who do you think is developing CUDA now?) and they control the perception of performance already.

Yeah no, they should have thrown that out to embrace hobbyists on the internet /s......
 
Why would they have opened CUDA years ago when that CUDA has granted them a near monopoly and a near $4 TRILLION valuation? They already have full control over the SDK (seriously, who do you think is developing CUDA now?) and they control the perception of performance already.

Yeah no, they should have thrown that out to embrace hobbyists on the internet /s......

Whoops, I meant to say open up its compatibility (while limiting performance on non-native GPUs). No way they’d open up the source code.
 
Whoops, I meant to say open up its compatibility (while limiting performance on non-native GPUs). No way they’d open up the source code.
OK, but why? What possible benefit would that grant NVidia? Every group that decides to compromise and runt he performance limited CUDA on an AMD or intel GPU is a group that NVidia has lost a sale from.

Where's the upside?
 
OK, but why? What possible benefit would that grant NVidia? Every group that decides to compromise and runt he performance limited CUDA on an AMD or intel GPU is a group that NVidia has lost a sale from.

Where's the upside?


IMO if everyone could run CUDA, as mature as it is, the chances of a competing standard like OpenCL gaining any serious traction would be basically nil. It’d be similar to Windows’ market share. And nVidia could control it like I mentioned to work best on their hardware (and they’d definitely market it as such).

But it’s just a hypothetical. A reality that will likely never come to be.
 
"I am pleased to announce that ZLUDA has doubled the size of its full-time development team and now has two developers working on the project."

The most impressive part is that one guy working alone has come so far. I'd say he's worth more than 100 devs.
 
Back