Construction
This note is under construction.
Link
This note lacks links.
Citation
This note lacks citations.
Tag
This note lacks tags.
Storage
This note is not stored correctly.
Lead
Compute Unified Device Architecture (CUDA) [1] is a proprietary parallel programming model and application programming interface (API) developed by Nvidia that enables software to use certain graphics processing units (GPUs) for accelerated general purpose computation. It significantly extends the role of GPUs beyond graphics, particularly in scientific computing, machine, learning, and high performance computing (HPC).
CUDA is both a software layer that manages data, giving direct access to the graphics processing unit (GPU) and central processing unit (CPU) as necessary, and a library of APIs that enable parallel computation for various needs. In addition to drivers and runtime kernels, the CUDA platform includes compilers, libraries and developer tools.
CUDA was the first platform fitting the needs of general purpose computation on GPUs (GPGPU) by eliminating the necessity to translate general computational problems into graph-related problem.
CUDA-powered GPUs also support programming models such as OpenMP, OpenACC, and OpenCL.
To compile CUDA code, the Nvidia compiler nvcc is used. It distinguishes between host code, which is the code to be executed on the CPU, and device code that will be executed on a Nvidia GPU. The custom functions that will be executed on the GPU are often called a kernel.
References
- [1]
“CUDA”, Wikipedia, Available: https://en.wikipedia.org/wiki/CUDA, Accessed: 2026-04-02 ↩