View Single Post
Old 02-12-2020, 09:41 PM
si_blakely is online now
Join Date: Jul 2002
Location: not UK anymore
Posts: 5,036
Originally Posted by MaverocK View Post
So, the way that I understand it is that the technology CUDA itself is proprietary but the compiler is open source. How does this work? I don't understand exactly how the technology can be proprietary while the compiler can be open source. Isn't that self-contradictory?
This is the correct understanding.

CUDA defines a public interface (or instruction set) that the compiler targets - the implementation in hardware is still proprietary, but as long as the compiler targets that public interface, it can be as open-source as it likes.

In another space, Intel's implementation of the x86 instruction set is proprietary. But gcc is open source - it just uses the public instruction set documentation and some hard-won knowledge about what actually works to compile code.