100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Computer Science

CUDA

By NVIDIA

IntermediatePlatform5.5K learners

CUDA (Compute Unified Device Architecture) is NVIDIA's parallel computing platform and programming model that lets developers write software running directly on NVIDIA GPU cores for general-purpose computation.

Definition

CUDA (Compute Unified Device Architecture) is NVIDIA's parallel computing platform and programming model that lets developers write software running directly on NVIDIA GPU cores for general-purpose computation.

Overview

Released by NVIDIA in 2007, CUDA gave developers a way to write general-purpose code for GPUs using extensions to familiar languages like C and C++, rather than having to express computation through graphics-specific APIs. This made GPU computing far more accessible to programmers outside the graphics field, extending the technology to scientific computing, simulation, and eventually machine learning. CUDA exposes the GPU's architecture directly to developers, letting them write kernels — functions that execute in parallel across thousands of GPU threads — and manage memory transfers between the CPU (host) and GPU (device). Over time, NVIDIA built an extensive ecosystem of CUDA-based libraries for linear algebra, deep learning primitives, and signal processing, which major frameworks such as PyTorch and TensorFlow rely on under the hood to accelerate training and inference. Because CUDA is proprietary to NVIDIA hardware, it has also become a significant factor in the GPU market, as the maturity and performance of the CUDA ecosystem has made NVIDIA GPUs the default choice for much of the deep learning community, alongside open alternatives like OpenCL and AMD's ROCm that aim to provide similar capabilities across other hardware. It is often mentioned alongside Parallel Computing in this space. It is often mentioned alongside ASIC in this space.

Key Features

  • Parallel computing platform and programming model for NVIDIA GPUs
  • Extends familiar languages like C and C++ with GPU programming constructs
  • Lets developers write kernels that run across thousands of parallel GPU threads
  • Backed by an extensive library ecosystem for linear algebra and deep learning
  • Underpins GPU acceleration in frameworks such as PyTorch and TensorFlow
  • Proprietary to NVIDIA hardware, unlike vendor-neutral alternatives like OpenCL

Use Cases

Accelerating deep learning model training and inference
Scientific and engineering simulations requiring heavy numerical computation
Computer vision and image processing pipelines
Financial modeling and risk analysis
Cryptographic and data-parallel algorithm acceleration

Frequently Asked Questions