CUDA is an architecture for GPUs developed by NVIDIA that was introduced on June 23, 2007. The name “CUDA” was originally an acronym for “Compute Unified Device Architecture,” but the acronym has since been discontinued from official use.
CUDA improves the performance of computing tasks which benefit from parallel processing. These workloads, such as rendering 3D images in real-time, are often called “embarrassingly parallel” because they naturally lend themselves to being computed by individual cores. CUDA GPUs feature many of these CUDA cores, which may number in the thousands, integrated onto a single video card. Software must be written specifically for the architecture using low-level CUDA libraries and APIs, provided by NVIDIA. The native programming language of these libraries is C++, but wrappers are written for other languages, enabling CUDA processing in a wide array of applications.
Although first designed to perform graphics-specific tasks, in 2012, the CUDA architecture transitioned to handling more general types of computation, such as mining cryptocurrency blockchains.
CUDA low-level APIs
Low-level APIs for performing specific tasks on the CUDA architecture include:
Languages with CUDA wrappers
Programming languages (other than C++) that can create software for CUDA GPUs include:
- Haskell
- Java
- Julia
- Lua
- Lisp
- Mathematica
- MATLAB
- Perl
- Python
- R
- Ruby
Examples of CUDA GPUs
The following are examples of a range of NVIDIA GPUs, compared by number of CUDA cores, maximum frequency in MHz, memory in GB, and MSRP when released.
3D, Graphic, Hardware terms, Library, Video card, Workstation