CUDA
CUDA, Compute Unified Device Architecture: Programmierschnittstelle und Plattform des GPU-Herstellers Nvidia, die seit 2007 die Nutzung der parallelen Rechenleistung moderner Nvidia-Grafikkarten für allgemeine Berechnungs-Aufgaben außerhalb klassischer Grafik-Anwendungen ermöglicht.
Entwickelt wurde CUDA ab 2006 unter der Leitung des heute als „Vater der GPU-Computing-Bewegung” geltenden Ingenieurs Ian Buck. Während GPUs ursprünglich für die Berechnung dreidimensionaler Grafik konzipiert waren, erkannte Nvidia früh, dass die hunderte parallel arbeitende Recheneinheiten auch für rechenintensive Aufgaben außerhalb der Grafik nutzbar sind — etwa wissenschaftliche Simulationen, Bildverarbeitung, Finanz-Mathematik und später vor allem maschinelles Lernen.
Programmiert wird CUDA in einer Erweiterung der Sprache C/C++, daneben existieren Bindungen für Python (über PyCUDA und Numba), Fortran sowie höhere Frameworks wie TensorFlow und PyTorch, die im Hintergrund CUDA-Kernels generieren. Mit der CUDA-Toolchain liefert Nvidia außerdem Bibliotheken für lineare Algebra (cuBLAS), neuronale Netze (cuDNN), Bildverarbeitung (cuFFT) und Daten-Pipelines (RAPIDS).
CUDA gilt als wichtiger strategischer Pfeiler von Nvidias Marktstellung im KI- und Hochleistungsrechnen-Bereich: weil die meisten KI-Frameworks bevorzugt gegen CUDA-Bibliotheken optimiert sind, ergeben sich nennenswerte Vorteile gegenüber Konkurrenz-GPUs. Offene Alternativen wie OpenCL, ROCm (AMD) und Apples Metal Performance Shaders konkurrieren mit unterschiedlichem Erfolg.