Live data from Hacker News

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

tomshardware.com

51–60 of 179 posts

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

#51

Earlier quoted context omitted.

If people were going to learn not to use proprietary software/hardware like the stuff that the wankers at Nvidia churn out, they'd have learned it over a decade ago when Torvalds gave them a big "fuck you" - which had been a long time coming even back then. People who keep picking Nvidia don't want to learn not to use proprietary tools.

That's a bit like saying "the slaves in the roman silver mines didn't want to rebel." Maybe a decade ago it was because they didn't care about abstract ideals like software freedom, but now they are well and truly stuck, and can serve only as a cautionary tale to other industries.

Nvidia offers an attractive product with strings attached, we very well could call it anti-competitive. But it is not very similar to slavery, nobody is getting beaten or chained up, the “victims” are willing participants.

Maybe some comparison to company stores could be warranted…

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

#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.

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

#54
post #4

People keep using proprietary software and keep getting burned by it. When will we learn?

Who's burned by what? NVIDIA's customers are happily training their models on superior hardware, so much so that they're begging to be able to order and spend more.

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

#55
post #28

Earlier quoted context omitted.

The API may not be copyrightable, but the widely-used official libraries (cuDNN, cuBLAS, OptiX, etc) are, so in practice I think they can at least say that anything which uses those libraries can't be run on competitors hardware.

AIUI, these libraries are generally implemented as shared objects that the resulting binary has to link to. So it should be quite possible to reimplement the interface that they expose, moreover something like ROCM has to do that anyway in order to compile HIP source code from scratch. Looks like that's what https://github.com/ROCm/hipDNN/ does.

Possible, yes, but reimplementing the CUDA runtime and the official libraries and getting them up to par with the originals is a much bigger task than just doing the former and running Nvidias libraries in it. AMD did try to do a complete reimplementation of cuDNN with hipDNN but "last commit 5 years ago" doesn't inspire much confidence in it being competitive with cuDNN proper.

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

#56

Earlier quoted context omitted.

An arms race of the update whack-a-mole as the encrypted blob grows and encompasses more...

wouldn't that require breaking the ABI? Many enterprise wont be happy if they do so. Also, there is not way to prevent using old cuda compilers.

Not a way to prevent it but they can make damn sure its difficult to find.

Example: Where is Newtonsoft's Physics Library v1.x? It was awesome, easy, fast, and worked with my engine (or rather, my engine worked with it?). Gone. Nowhere to be found, not even on the internet archives way-back-machine.

It's rather trivial for a juggernaut like NVidia to wipe the earth of older cuda compilers by tweaking a driver and making cuda compilation cloud-based.

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

#57

I don't understand why Nvidia is so obstinate on this front. They would solidify their lead in hardware if they open sourced the entire CUDA software stack. Their hardware competitors are going to reverse it anyway, so they may as well open source the thing and benefit from all the momentum that comes with owning the community's favored software and the hardware that it runs on.

Really? All these companies have their code written in CUDA and when it comes time to buy more GPUs they can make a decision - buy more Nvidia chips that will “just work”, or buy AMD/Intel and spend time and money writing new, potentially buggy, software to duplicate the software I’ve already written. Seems like an easy decision for the buyers, and Nvidia’s vendor lock in is complete.

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

#58
This doesn't appear to ban using translation layers.

The text is "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".

That would appear to (attempt to -- it may not be enforceable) restrict the creation of translation layers. I don't understand how you could infer "bans using translation layers" from the above clause, and indeed the tweet they're referencing does not.

AIUI Zluda is something like Wine, in that it's an API reimplementation. It would be weird to call running Wine reverse engineering, decompilation or disassembling -- it's effectively just linking.

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

#59
post #11
post #7

Earlier quoted context omitted.

For the US, didn't Oracle win the java api lawsuit?

Looks like they lost [0], with Google winning 6-2, but maybe Oracle is trying to appeal it? I'm not familiar with the remanding process so I can't comment on that part of this quote. > In April 2021, the Supreme Court ruled in a 6–2 decision that Google's use of the Java APIs fell within the four factors of fair use, bypassing the question on the copyrightability of the APIs. The decision reversed the Federal Circuit…

Oh interesting. The last piece of news I read was probably the decision before that, that ruled in Oracle's favour. Blame Covid.

So is it final, or they can still drag it on?

From wikipedia:

"Justice Stephen Breyer wrote the majority opinion. Breyer's opinion began with the assumption that the APIs may be copyrightable, and thus proceeded with a review of the four factors that contributed to fair use:"

That doesn't look so good.

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

#60
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.

Shimming CUDA is a waste of effort that only reinforces Nvidia's market dominance. Targeting higher level interfaces, Jax, Taichi, ArrayFire, etc is imho a better strategy. We have already seen systems like LLama.cpp and their ilk support alternative backends for training and inference.

Now the vast majority of the compute cycles have centered around a handful of model architectures, implementing those specific architectures in whatever bespoke hardware isn't difficult.

Target specific applications not the whole complex library/language layer.

Post reply on HN