
CUDA
CUDA ist eine Software-Sammlung der Firma Nvidia, mit der Programmierer Grafikkarten für allgemeine Rechenaufgaben nutzen können. Weil fast alle KI-Programme darauf aufbauen, gilt CUDA als wichtigster Grund für Nvidias Vormachtstellung im KI-Geschäft.
In jedem Computer steckt ein Hauptprozessor, der Befehle sehr schnell einen nach dem anderen abarbeitet. Grafikkarten sind anders gebaut: sie enthalten tausende kleine Rechenwerke, die gleichzeitig arbeiten. Ursprünglich diente das nur dazu, Bilder für Spiele zu berechnen. CUDA ist eine Software-Sammlung der Firma Nvidia aus dem Jahr 2007, die diese Rechenkraft für beliebige Aufgaben öffnet. Programmierer können damit in einer normalen Programmiersprache beschreiben, was die Grafikkarte tun soll. Der Name ist eine Abkürzung für « Compute Unified Device Architecture », aber diese Langform benutzt praktisch niemand.
CUDA als Nvidias Burggraben
Moderne KI-Systeme bestehen im Kern aus riesigen Mengen von Multiplikationen und Additionen. Diese Rechnungen hängen nicht voneinander ab, man kann sie also alle parallel ausführen. Genau dafür sind Grafikkarten gebaut. Ohne sie würde das Training eines großen Sprachmodells Jahrhunderte dauern statt Wochen.
Nvidia verkauft die passende Hardware, aber der eigentliche Vorteil liegt in der Software. CUDA existiert seit über 15 Jahren, und in dieser Zeit haben Forscher und Firmen darauf aufgebaut. Die bekannten KI-Werkzeuge wie PyTorch oder TensorFlow sind für CUDA optimiert. Wer eine KI entwickelt, nimmt deshalb fast automatisch eine Nvidia-Karte.
In der Wirtschaftspresse heißt so etwas ein Burggraben: ein Vorteil, den Konkurrenten nur schwer überwinden können. Konkurrenzfirmen wie AMD bauen durchaus starke Chips. Aber ihre Software gilt als weniger ausgereift, und bestehende Programme müssten aufwendig angepasst werden. CUDA läuft ausschließlich auf Nvidia-Hardware, und das ist Absicht.
Was beim Programmieren mit CUDA passiert
Ein CUDA-Programm hat zwei Teile. Der eine läuft auf dem Hauptprozessor und steuert den Ablauf. Der andere ist eine kurze Funktion, die auf der Grafikkarte läuft und dort gleichzeitig in tausenden Kopien ausgeführt wird. Jede Kopie bearbeitet ein anderes Datenstück, etwa eine andere Zahl in einer großen Tabelle.
Man kann sich das wie eine Klausurkorrektur vorstellen. Ein Lehrer allein korrigiert alle Hefte hintereinander. Bei CUDA bekommen tausend Helfer je eine einzelne Aufgabe aus einem Heft und arbeiten parallel. Das funktioniert nur, wenn die Aufgaben unabhängig sind und alle dieselbe Vorschrift befolgen.
Ein häufiger Irrtum ist, CUDA mache jedes Programm schneller. Das Gegenteil kann passieren. Daten müssen zuerst in den Speicher der Grafikkarte kopiert werden, und das kostet Zeit. Aufgaben mit vielen Verzweigungen oder wenig Parallelität laufen auf dem Hauptprozessor besser. CUDA lohnt sich, wenn sehr viele gleichartige Rechnungen anfallen.
CUDA in Börsenmeldungen und auf dem eigenen Rechner
In Wirtschaftsnachrichten fällt der Begriff meist, wenn es um Nvidias Marktwert geht. Analysten begründen die hohe Bewertung selten nur mit den Chips, sondern regelmäßig mit CUDA. Auch bei den US-Exportbeschränkungen für KI-Chips nach China spielt es eine Rolle, denn die Hardware ist ohne diese Software wenig wert.
Wer selbst mit KI experimentiert, stößt schnell darauf. Beim Installieren von Bildgeneratoren oder Sprachmodellen auf dem eigenen PC verlangen die Anleitungen eine passende CUDA-Version. Fehlt sie, rechnet das Programm auf dem Hauptprozessor weiter, nur eben zehn- bis hundertmal langsamer.
In technischen Datenblättern liest man außerdem von CUDA-Kernen. Damit sind die einzelnen Rechenwerke einer Nvidia-Grafikkarte gemeint, oft mehrere tausend pro Karte. Die Zahl ist ein grober Hinweis auf die Leistung, aber kein Maß, mit dem man Karten verschiedener Generationen sinnvoll vergleichen kann.