Knowledge Bank · NVIDIA & GPU Computing

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

Turn this into a team capability

Our corporate programmes cover topics like this hands-on, mapped to your stack.

Talk to us