There seems to be some confusion here on what PTX is – it does not bypass the CUDA platform at all. Nor does this diminish NVIDIA’s monopoly here. CUDA is a programming environment for NVIDIA GPUs, but many say CUDA to mean the C/C++ extension in CUDA (CUDA can be thought of as a C/C++ dialect here.) PTX is NVIDIA specific, and sits at a similar level as LLVM’s IR. If anything, DeepSeek is more dependent on NVIDIA than everyone else, since PTX is tightly dependent on their specific GPUs. Things like ZLUDA (effort to run CUDA code on AMD GPUs) won’t work. This is not a feel good story here.
This specific tech is, yes, nvidia dependent. The game changer is that a team was able to beat the big players with less than 10 million dollars. They did it by operating at a low level of nvidia’s stack, practically machine code. What this team has done, another could do. Building for AMD GPU ISA would be tough but not impossible.
I don’t think anyone is saying CUDA as in the platform, but as in the API for higher level languages like C and C++.
PTX is a close-to-metal ISA that exposes the GPU as a data-parallel computing device and, therefore, allows fine-grained optimizations, such as register allocation and thread/warp-level adjustments, something that CUDA C/C++ and other languages cannot enable.
I think the thing that Jensen is getting at is that CUDA is merely a set of APIs. Other hardware manufacturers can re-implement the CUDA APIs if they really wanted to (especially since AFAIK, Google v Oracle ruled that APIs cannot be copyrighted). In fact, AMD’s HIP implements many of the same APIs as CUDA, and they ship a tool (HIPIFY) to convert code written for CUDA for HIP instead.
Of course, this does not guarantee that code originally written for CUDA is going to perform well on other accelerators, since it likely was implemented with NVIDIA’s compute model in mind.
There seems to be some confusion here on what PTX is – it does not bypass the CUDA platform at all. Nor does this diminish NVIDIA’s monopoly here. CUDA is a programming environment for NVIDIA GPUs, but many say CUDA to mean the C/C++ extension in CUDA (CUDA can be thought of as a C/C++ dialect here.) PTX is NVIDIA specific, and sits at a similar level as LLVM’s IR. If anything, DeepSeek is more dependent on NVIDIA than everyone else, since PTX is tightly dependent on their specific GPUs. Things like ZLUDA (effort to run CUDA code on AMD GPUs) won’t work. This is not a feel good story here.
This specific tech is, yes, nvidia dependent. The game changer is that a team was able to beat the big players with less than 10 million dollars. They did it by operating at a low level of nvidia’s stack, practically machine code. What this team has done, another could do. Building for AMD GPU ISA would be tough but not impossible.
I don’t think anyone is saying CUDA as in the platform, but as in the API for higher level languages like C and C++.
Some commenters on this post are clearly not aware of PTX being a part of the CUDA environment. If you know this, you aren’t who I’m trying to inform.
aah I see them now
I thought CUDA was NVIDIA-specific too, for a general version you had to use OpenACC or sth.
CUDA is NVIDIA proprietary, but may be open to licensing it? I think?
https://www.theregister.com/2021/11/10/nvidia_cuda_silicon/
I think the thing that Jensen is getting at is that CUDA is merely a set of APIs. Other hardware manufacturers can re-implement the CUDA APIs if they really wanted to (especially since AFAIK, Google v Oracle ruled that APIs cannot be copyrighted). In fact, AMD’s HIP implements many of the same APIs as CUDA, and they ship a tool (HIPIFY) to convert code written for CUDA for HIP instead.
Of course, this does not guarantee that code originally written for CUDA is going to perform well on other accelerators, since it likely was implemented with NVIDIA’s compute model in mind.