So far, we have explored the scope of computing on NVIDIA and AMD GPUs through two separate chapters. Now, let's specifically look into the comparisons between their respective APIs:
NVIDIA CUDA |
AMD ROCm |
The API is called Compute Unified Device Architecture |
The API is called Radeon Open Compute platform |
Proprietary |
Open source |
Released in 2007 |
Released in 2016 |
Wider support |
Still under adoption and very actively catching up |
Significant number of programmable libraries |
Fewer libraries than CUDA but active ongoing development |
Cannot be used with non-NVIDIA devices |
Cross-platform independence due to open standards |
CUDA-C language being used |
HIP for cross-platform; HC for AMD GPUs |
.cu extension used for files |
.cpp extension used for files |
Non-portable |
CUDA code... |