GPU Glossary
/host-software/cuda-software-platform

CUDA (Software Platform)

CUDA stands for Compute Unified Device Architecture. Depending on the context, "CUDA" can refer to multiple distinct things: a high-level device architecture, a parallel programming model for architectures with that design, or a software platform that extends high-level languages like C to add that programming model.

The vision for CUDA is laid out in the Lindholm et al., 2008 white paper. We highly recommend this paper, which is the original source for many claims, diagrams, and even specific turns of phrase in NVIDIA's documentation.

Here, we focus on the CUDA software platform.

The CUDA software platform is a collection of software for developing CUDA programs. Though CUDA software platforms exist for other languages, like FORTRAN, we will focus on the dominant CUDA C++ version.

This platform can be roughly divided into the components used to build applications, like the NVIDIA CUDA Compiler Driver toolchain, and the components used within or from applications, like the CUDA Driver API and the CUDA Runtime API , diagrammed below.

The CUDA Toolkit. Adapted from the Professional CUDA C Programming Guide.

Something seem wrong?
Or want to contribute?
Email: glossary@modal.com