CUDA is a high level language for writing code to be run on the parallel cores of an NVIDIA GPU. It enables massive parallel processing for tasks like deep learning, simulations, and data analytics.

Languages:

How it Works:

Definitions

Host: CPU
Device: GPU

Three steps to execute most CUDA programs:

  1. Copy input: host memory -> device memory (host-to-device transfer)
  2. Load the GPU program and execute: cache data on-chip for performance
  3. Copy results: host memory <- device memory (device-to-host transfer)

Compiler

  • nvcc compiler driver