2026-07-14

SM, CUDA-Kerne und GPU-Architektur

SM, CUDA-Kerne und GPU-Architektur

Die GPU-Architektur von NVIDIA ist um eine hierarchische Struktur herum aufgebaut. Die kleinste Einheit ist der CUDA-Kern, eine einfache arithmetische Einheit, die pro Taktzyklus eine Gleitkomma- oder Integer-Operation ausführen kann. CUDA-Kerne werden in größeren Einheiten, den sogenannten Streaming-Multiprozessoren (SMs), zusammengefasst. Jeder SM enthält eine feste Anzahl von CUDA-Kernen sowie gemeinsam genutzten Speicher, Register und Scheduling-Logik.

Die Anzahl der CUDA-Kerne pro SM ist mit jeder Generation gestiegen. In der Turing-Architektur hatte jeder SM 64 CUDA-Kerne. In Ampere stieg sie auf 128. In Ada Lovelace hat jeder SM 128 CUDA-Kerne, aber die Architektur ist effizienter, sodass jeder Kern pro Takt mehr Arbeit leistet. Eine High-End-RTX 4090 hat 128 SMs mit insgesamt 16.384 CUDA-Kernen.

CUDA-Kerne sind nicht alle identisch. Moderne NVIDIA-GPUs haben separate Kerne für Integer- und Gleitkomma-Mathematik und können beide Arten von Anweisungen gleichzeitig ausführen. Dies wird als FP32- und INT32-Konkurrenz bezeichnet und verbessert die Auslastung. Es gibt auch spezielle Funktionseinheiten für Operationen wie Quadratwurzeln und trigonometrische Funktionen sowie Tensor-Kerne für Matrixoperationen.

Der SM enthält auch einen Scheduler, der entscheidet, welche Threads als nächstes ausgeführt werden. GPUs nutzen massive Parallelität und führen Tausende von Threads gleichzeitig aus. Der Scheduler gruppiert Threads in Warps zu je 32 Threads. Alle 32 Threads in einem Warp führen dieselbe Anweisung aus, jedoch auf unterschiedlichen Daten. Wenn Threads in einem Warp unterschiedliche Codepfade nehmen, müssen einige warten, was die Effizienz verringert.

Die Speicherhierarchie ist in der GPU-Architektur von entscheidender Bedeutung. Jeder SM hat seine eigene Registerdatei und seinen eigenen gemeinsam genutzten Speicher, die extrem schnell, aber in der Größe begrenzt sind. Alle SMs teilen sich einen größeren L2-Cache, und darüber hinaus liegt der globale VRAM. Das Verständnis dieser Hierarchie ist für das Schreiben effizienten GPU-Codes unerlässlich. Daten, die in Registern oder gemeinsam genutztem Speicher verbleiben, sind hunderte Male schneller zugänglich als Daten im globalen Speicher.

Lassen Sie uns zusammenarbeiten

Benötigen Sie weitere Informationen, Hilfe bei Ihrem Projekt oder zur Entwicklung einer Idee?

Ob einfache Frage, kurzer Zweifel oder ein 5-Minuten-Chat, schreib mir einfach—es kostet nichts und ich helfe immer gerne. Ich liebe es, Probleme zu verstehen, kreative Lösungen zu finden und mich auf einfache, zuverlässige und unkomplizierte Ideen zu konzentrieren, die sich schnell umsetzen lassen.

Kontaktiere mich

Thema wechseln

Wählen Sie ein spezielles Thema zum Erkunden: