CUDA (Compute Unified Device Architecture) ist Nvidias Plattform zur Programmierung von GPUs für allgemeine Berechnungen. Statt nur Grafik zu rendern, rechnen tausende parallel arbeitende Kerne der Grafikkarte auch wissenschaftliche und KI-Aufgaben — bis zu hundertfach schneller als eine CPU.
Warum GPUs für KI?
Eine GPU enthält tausende kleine Kerne, die gleichzeitig arbeiten. Genau das braucht maschinelles Lernen: Matrixmultiplikationen und andere Operationen lassen sich in viele parallele Teilaufgaben zerlegen. Deshalb laufen Deep-Learning-Trainings fast ausschließlich auf CUDA-fähigen Nvidia-GPUs. Konkurrenz: AMD (ROCm) und Googles TPU.
CUDA im Überblick
- CUDA-C: C/C++-Erweiterung, mit der Kernel (Programme für die GPU) geschrieben werden
- Kernel: Funktion, die auf der GPU in tausenden Threads läuft
- Threads, Blocks, Grid: Hierarchie der parallel laufenden Einheiten
- CUDA-Bibliotheken: cuBLAS (Lineare Algebra), cuDNN (Neuronale Netze), cuFFT (Fourier-Transformation)
CUDA und KI-Frameworks
PyTorch und TensorFlow nutzen CUDA automatisch, wenn eine Nvidia-GPU vorhanden ist. Mit nvidia-smi prüft man GPU-Modell und Speicher (VRAM). Der CUDA-Toolkit-Treiberstapel bringt Compiler (nvcc) und Laufzeitbibliotheken mit. Verwandte Begriffe: GPU, LLM, Deep Learning.