Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not sure the chip spec (or instruction set) is the level of abstraction here?

Something like DirectX (or OpenGL) might be the better level to target? In practice, CUDA is that level of abstraction, but it only really works for Nvidia cards.



It's not that it only works on Nvidia cards, it's only allowed to work on Nvidia cards. A non-clean room implementation of CUDA for other hardware has been done but is a violation of EULA (of the thing that was reverse engineered), copyright on the driver binary interface, and often patents. Nvidia aggressively sends cease-and-desist letters and threatens lawsuits (successfully killed ZLUDA, threatened others). It's an artificial (in a technical sense moat).


Spectral just did a thread on that.

https://x.com/SpectralCom/status/1993289178130661838


> successfully killed ZLUDA

Did they? Sounds like AMD did that[^1] and that the project is continuing based on the pre-AMD codebase[^2].

[^1]: https://www.phoronix.com/news/AMD-ZLUDA-CUDA-Taken-Down

[^2]: https://www.phoronix.com/news/ZLUDA-Third-Life


Unless ZLUDA can show that it is a clean room re-implementation from a spec without contact with the CUDA libraries, it would be a bad place for AMD to place themselves. That could be reason enough to retract voluntarily before any bad press. Such a thing is possible but likely much harder than Compaq re-implementing IBM PC BIOS.


I don't think you can make the EULA bite here?

To circumvent: you have someone (who might be bound by the EULA, and is otherwise not affiliated with you) dump the data on the internet, and someone else (from your company) can find it there, without being bound by the EULA. Nvidia could only sue the first guy for violating the EULA.

However you are right, that copyright and patents still bite.


> CUDA is that level of abstraction, but it only really works for Nvidia cards.

There are people actively working on that.

https://scale-lang.com/


Not really, because as usual people misunderstand what CUDA is.

CUDA is hardware designed according to the C++ memory model, with first tier support for C, C++, Fortran and Python GPGPU DSLs, with several languages also having a compiler backend for PTX.

Followed by IDE integration, a graphical debugger and profiler for GPU workloads, and an ecosystem of libraries and frameworks.

Saying just use DirectX, Vulkan, OpenGL instead, misses the tree from the forest that is CUDA, and why researchers rather use CUDA, than deal with yet another shading language or C99 dialect, without anything else.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: