NEW
Also known as: Compute Unified Device Architecture
NVIDIA’s parallel computing platform and programming model enabling general-purpose GPU acceleration.
DESCRIPTION
CUDA provides APIs, languages, and libraries to write kernels that execute in parallel on NVIDIA GPUs. It supports fine-grained thread hierarchies, shared memory, and warp-level primitives. A rich ecosystem includes cuDNN, cuBLAS, Thrust, and NVRTC. CUDA underpins modern deep learning training and inference workflows. Tooling spans profiling, debugging, and deployment across desktops, data centers, and embedded devices.
ALTERNATIVE DEFINITIONS
Wikipedia
CUDA is a parallel computing platform and programming model developed by Nvidia for general computing on its own GPUs.
General-purpose computing emphasis on NVIDIA GPUs.
NVIDIA
CUDA is a parallel computing platform and programming model developed by NVIDIA for general computing on GPUs.
Official vendor definition highlighting platform and model aspects.
NVIDIA Documentation
CUDA is a general purpose parallel computing platform and programming model.
Documentation phrasing used in the CUDA C Programming Guide.
RELATED TERMS
Graphics Processing Unit Parallel Computing CUDA C/C++ PTX cuDNN cuBLAS NCCL Tensor Cores
COMPETING TERMS
RELATIONS
- Broader: Parallel Computing
KNOWLEDGE AREAS
Infrastructure AI Software Engineering Data Science
TARGET AUDIENCE
AI Engineer Software Developer MLOps Engineer Cloud Architect Data Scientist
EXTERNAL SOURCES
- Wikipedia - CUDA
- NVIDIA - Official CUDA documentation hub
- NVIDIA Developer Blog - Best practices and performance guides
- NVIDIA cuDNN - Deep learning primitives on CUDA
TOP QUESTIONS
Why use CUDA for AI workloads?
CUDA exposes massive parallelism and optimized libraries, enabling significant speedups for deep learning training and inference on NVIDIA GPUs.
Category: Relevancy
How does CUDA differ from OpenCL?
CUDA is NVIDIA-specific with mature AI libraries; OpenCL is vendor-neutral but often lags in ecosystem support for deep learning.
Category: Comparison
What is a CUDA kernel?
A kernel is a function executed in parallel by many GPU threads, organized into blocks and grids.
Category: Understanding
What are common performance pitfalls in CUDA?
Uncoalesced memory access, excessive divergence within warps, and poor occupancy often degrade performance.
Category: Mistakes
How do I profile CUDA code?
Use Nsight Systems/Compute and CUDA profiling APIs to analyze kernels, memory throughput, and warp efficiency.
Category: HowTo
Can CUDA run on non-NVIDIA GPUs?
No. CUDA targets NVIDIA GPUs. Alternatives like OpenCL or ROCm support other vendors.
Category: Limitations
What is PTX in CUDA?
PTX is an intermediate assembly-like language for NVIDIA GPUs that CUDA compiles to before device-specific code generation.
Category: Understanding
How does mixed precision training work with CUDA?
CUDA libraries and tensor cores accelerate FP16/BF16 operations with loss scaling to maintain numerical stability.
Category: Technique
What role does NCCL play in multi-GPU CUDA?
NCCL provides high-performance collective communication primitives essential for distributed training across GPUs and nodes.
Category: Tools