One of your developers just asked, "What's CUDA? Is it a GPU? Is it a language? Why does everyone keep mentioning it?" You've got two minutes to give them the straight answer. What are you telling them?
Select an answer to reveal the explanation.
Short Explanation and Infographic
CUDA is NVIDIA's parallel computing platform — think of it as the software layer that lets you talk to GPUs from your code. You write CUDA C/C++, compile it, and it runs on NVIDIA GPUs. It's not a framework like PyTorch; those sit on top of CUDA. It's not an optimization library (that's TensorRT). It's the foundational parallel computing environment.
Full explanation below image
Full Explanation
CUDA stands for Compute Unified Device Architecture. It's NVIDIA's programming model and parallel computing platform. When you want to write code that runs on GPUs, you use CUDA. You write in CUDA C/C++ (or use language bindings for Python, Java, Fortran, etc.), and the CUDA compiler translates your code into instructions that run on NVIDIA GPUs. The key insight: CUDA lets you express parallelism. Traditional CPU code is sequential — instruction after instruction. CUDA lets you say, "Run this kernel across thousands of GPU threads in parallel." That's why it's so powerful for AI and scientific computing. Now, here's the key distinction: CUDA is the infrastructure. PyTorch, TensorFlow, JAX — these are frameworks that use CUDA under the hood. When you call a PyTorch operation like torch.matmul() on a GPU, it's actually running CUDA kernels. TensorRT is NVIDIA's inference optimization library — it takes trained models and optimizes them for deployment. A DPU is a separate hardware device (Data Processing Unit) that offloads networking/storage tasks. CUDA isn't any of these. It's the foundation that makes GPU programming possible.