What Is CUDA?
By Karthick Selvam · Published
CUDA is NVIDIA's parallel computing platform and programming model for running general-purpose code on NVIDIA GPUs.
Definition
CUDA lets developers write functions called kernels that run across thousands of GPU threads in parallel. It was introduced by NVIDIA in 2006/2007.
Programming model
Threads are grouped into blocks, and blocks into a grid. Each thread uses its index to work on a different piece of data.
Memory hierarchy
GPUs expose global memory, fast on-chip shared memory per block, and registers per thread. Good performance usually depends on coalesced global memory access and smart use of shared memory.
Languages and libraries
CUDA C/C++ is the primary interface; Python developers can use Numba, CuPy or CUDA Python. Libraries such as cuBLAS, cuDNN and cuFFT provide optimised building blocks.
Who needs it
Most data scientists use CUDA indirectly through frameworks like PyTorch. Writing CUDA directly matters for HPC, custom kernels and performance engineering.
Frequently asked questions
Does CUDA run on non-NVIDIA GPUs?
No. CUDA targets NVIDIA GPUs; other vendors have their own platforms.
Related programmes
- GPU Programming with CUDA
- Accelerated Data Science with NVIDIA RAPIDS
- Building and Serving LLM Apps with NVIDIA NIM & NeMo
Turn this into a team capability
Our corporate programmes cover topics like this hands-on, mapped to your stack.
NVIDIA & GPU Computing guides
What Is NVIDIA RAPIDS?
RAPIDS is a suite of open-source libraries from NVIDIA for GPU-accelerated data science and analytics.
What Are NVIDIA NIM and NeMo?
NIM and NeMo are parts of NVIDIA's software stack for generative AI: NIM for serving models, NeMo for building and customising them.
TensorRT, TensorRT-LLM and Triton Explained
Three NVIDIA technologies for fast, scalable AI inference.