Live data from Hacker News

Nvidia bans using translation layers for CUDA software to run on other chips

tomshardware.com

71–80 of 179 posts

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#71
post #68

This just seems to be a poorly researched knee-jerk article written based on a single off-hand tweet from 2 weeks ago, citing a clause that has been around for years, and thus obviously is not in response to something talked about 3 weeks ago. As an example, the license here has the exact phrase, on a file last changed 2 years ago: https://github.com/NVIDIA/spark-rapids-container/blob/dev/NO... The EULA here, listed…

I think you're focused too much on when this clause was added. Most of us are not so concerned with the chronology.

I'm focused on what the article, and the full headline claims.

"Nvidia bans using translation layers for CUDA software to run on other chips — new restriction apparently targets some Chinese GPU makers and ZLUDA"

The time the clause was added also matters, because if it's ~3 years old and since then various translation layers backed by other large competitors have been released without any open lawsuit, it's a lot less concerning than if the clause were added right now, as, at least to me, it suggests that they're not talking about simply copying the API based on documentation and known quirks, but reverse engineering how the internals function for the purposes of a translation layer (eg same thing as MS banning reverse engineering of Windows for the purpose of adding the functionality to Wine, but tolerating clean room reimplementations).

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#72

This just seems to be a poorly researched knee-jerk article written based on a single off-hand tweet from 2 weeks ago, citing a clause that has been around for years, and thus obviously is not in response to something talked about 3 weeks ago. As an example, the license here has the exact phrase, on a file last changed 2 years ago: https://github.com/NVIDIA/spark-rapids-container/blob/dev/NO... The EULA here, listed…

Agreed that that may be deceptive, but the underlying issue remains. It is prohibited.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#73
post #48

go all in on webgpu compute

Been pondering over this a ton recently. WebGPU not only represents higher-end rendering in a browser, but true cross-platform compute that will increasingly get closer and closer to native performance. This is huge, because it comes with the portability aspect as well.

Where I think WebGPU has the most promising role to play is in inference of smaller optimized AI models, in client hardware. Users expect software to run anywhere, and for developers being able to deploy a portable binary that "just works" is huge. Not to mention the immense cost savings... now you won't get a massive model, we're going to need the cloud for those for a while yet. But if you can run it locally, why not? And end users spend most of their time in browser these days, so it's obvious to see where this is all headed.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#74
The stated reason from the article makes little sense. The Chinese will just tell Nvidia to go take a hike, if the legal agreement holds any water at all in Chinese law. The only people this will affect would be AMD and Intel. Something isn't quite adding up.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#75
post #53
post #36

People should check out Google's JAX. Work in a high level language and run anywhere. Nvidia should just be commodity hardware if people avoid vendor lock in.

That's fine and dandy, until you realize that Jax only has a limited amount of backends. E.g. rocm support is still experimental. Somebody has to build those optimized backends -- it's not just a matter of people picking the wrong stack.

I just looked at Jax and XLA, it is odd to me that they aren't targeting SPIR-V directly.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#76
post #31

Earlier quoted context omitted.

Hopefully Vulkan eventually gets a headless compute kernel version.

Vulkan has always supported headless mode, everything related to graphics and presentation is optional. It has a way to go before its compute model is as powerful and easy to use as CUDA is though.

Wait, really? How does one set that up without just getting llvmpipe? I've turned over half the internet and I could never get it to work without installing some kind of window system.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#78
post #31

Earlier quoted context omitted.

Vulkan has always supported headless mode, everything related to graphics and presentation is optional. It has a way to go before its compute model is as powerful and easy to use as CUDA is though.

Wait, really? How does one set that up without just getting llvmpipe? I've turned over half the internet and I could never get it to work without installing some kind of window system.

I'm just speaking from the perspective of the spec, which defines surfaces and swapchains as extensions that are never guaranteed to be available, so a compliant driver may work in the absense of any kind of GUI by just reporting those extensions as not supported. Whether your Vulkan driver actually supports running in a headless context is another question though, and of course the Vulkan software you're trying to run has to gracefully handle the case where surface/swapchain aren't available.

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#79
post #66

Earlier quoted context omitted.

APIs aren't subject to copyright. So unless CUDA is more than an API they're just going to make some lawyers rich and waste everyone's time.

Per the Federal Circuit, APIs are subject to copyright. The Supreme Court just ruled that Google's use of APIs was fair use.

You mean the Oracle vs Google case right?

Re: Nvidia bans using translation layers for CUDA software to run on other chips

#80

Earlier quoted context omitted.

I think they're trying to do the trick where they don't ban the emulation per se, but they make it a violation of the license to disassemble the code to understand how it works. Then they go after emulating projects for copyright infringement, since they must have violated copyright to get a compatible version running. It's a dirty trick IMO, but it has seen some mixed success.

The alternative is NVIDIA charging for what they're spending money on and making CUDA as big a cost as the hardware. I don't know what I agree with but hardware-supported-software being free is a good thing, your competitors being able to use it for free is a bad thing. I wonder legally if it would work to instead have licensing that charged a reasonable fee to run CUDA on non-NVIDIA hardware. Just don't enforce it f…

> hardware-supported-software being free is a good thing, your competitors being able to use it for free is a bad thing.

... bad thing for whom? Especially having been in the unenviable position of needing to debug implementation errors in shader compilation, I'd argue that for the end user, it's much better if the software is not only usable for free, but open-source. To the extent that the ownership the hardware vendors place upon their software prevents this, I'd say that's a bad thing.

If NVIDIA can't compete on hardware they're just bailing water from a sinking ship. All their competition has to do is provide and adopt a just-as-good open software standard on cheaper hardware and people will flock to it, NVIDIA will be forced to provide compatibility or become an also-ran, and they'll lose anyway.

Post reply on HN