🧩Architektur einer NVIDIA-GPU

Von außen nach innen: Die GPU besteht aus Clustern, die Cluster aus Streaming Multiprocessors (SMs), die SMs aus vier Verarbeitungsblöcken mit eigenen Warp-Schedulern und Rechenwerken. Klicke dich durch die Ebenen.

🔍Hierarchie: GPU → GPC → TPC → SM

← oder direkt im Bild klicken
GPU · GigaThread-Scheduler · PCIe 5.0 · NVLinkGPC 0GPC 1GPC 2GPC 3GPC 4GPC 5GPC 6GPC 7L2-Cache (von allen SMs geteilt)Speicher-Controller → HBM-Stapel (globaler Speicher)
Ebene: GPU

GPU (Beispiel: GH100 / H100)

Der ganze Chip: Graphics Processing Clusters (GPCs), ein gemeinsamer L2-Cache, Speicher-Controller für HBM und die Anschlüsse nach außen (PCIe, NVLink). Der GigaThread-Scheduler verteilt die Blöcke eines Kernels auf freie SMs.

  • ▸GH100-Vollausbau: 8 GPCs · 72 TPCs · 144 SMs
  • ▸H100 SXM5 (Produkt): 132 SMs aktiv, 50 MB L2
  • ▸HBM3 · NVLink 4 · PCIe 5.0

Quelle: NVIDIA H100 Tensor Core GPU Architecture Whitepaper (2022). Tipp: Im Bild ein SM (grün, oben links) anklicken.

⚙️Spezialwerke im SM

🟩 CUDA-Kerne (FP32/INT32)

Skalare Rechenwerke. Ein Warp-Befehl rechnet dieselbe Operation für 32 Threads – das Modell heißt SIMT (Single Instruction, Multiple Threads).

🧮 Tensor Cores

Rechnen D = A·B + C auf ganzen Matrixkacheln pro Befehl. Angesprochen über cuBLAS/cuDNN, CUTLASS, die WMMA-API oder PTX-Befehle wie mma – seit Volta (2017).

💡 RT Cores

Hardware für Raytracing (Schnitt Strahl–Dreieck, Durchlaufen der Hüllkörper-Hierarchie BVH), seit Turing. Für allgemeines CUDA-Rechnen nicht direkt nutzbar, sondern über OptiX, DirectX Raytracing oder Vulkan.

⏳Latenzverbergen: warum so viele Threads?

Ein Ladebefehl aus dem globalen Speicher dauert hunderte Takte. Statt zu warten, schaltet der Warp-Scheduler ohne Kosten auf einen anderen Warp um.
🧪 Spielmodell eines Warp-Schedulers
Takt →Warp 0Warp 1

Jedes Kästchen = ein ausgegebener Befehl (umrandet = Ladebefehl). Rote Striche oben = Takt ohne bereiten Warp (Leerlauf).

Auslastung (lange Laufzeit)
22 %
Formel min(1, W·(C+1)/(C+1+L))
22 %
Warps für 100 %
≥ 9
aktuell
2 Warp(s)

Die GPU versteckt Speicherlatenz nicht mit großen Caches, sondern mit Parallelität: Wartet ein Warp auf Daten, rechnet ein anderer. Deshalb ist es wichtig, dass genug Warps gleichzeitig auf dem SM wohnen können – genau das misst die Occupancy.

🏔️Speicherhierarchie

▲ schneller, kleiner, näher am Rechenwerkgrößer, langsamer ▼

Register

Sichtbar für
je Thread
Größe
64 K × 32 Bit = 256 KB je SM
Latenz
≈ 1 Takt Größenordnung
Hinweis
schnellster Speicher; max. 255 Register pro Thread

Latenzen sind grobe Größenordnungen und hängen stark von Generation, Takt und Zugriffsmuster ab (vgl. Mikrobenchmark-Studien wie Jia et al., „Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking“, 2018). Größen: NVIDIA-Whitepaper bzw. CUDA Programming Guide.

🔌Verbindung nach außen: PCIe und NVLink

💡 PCIe
Die Standardverbindung zwischen CPU und GPU. Theoretisch ≈ 32 GB/s je Richtung bei PCIe 4.0 ×16 und ≈ 64 GB/s bei PCIe 5.0 ×16 – um Größenordnungen weniger als die Bandbreite des GPU-Speichers. Deshalb: Daten möglichst lange auf der GPU lassen.
✅ NVLink
Direkte GPU-zu-GPU-Verbindung (bei manchen Systemen auch zur CPU). Gesamtbandbreite je GPU laut NVIDIA: 300 GB/s (V100, NVLink 2), 600 GB/s (A100, NVLink 3), 900 GB/s (H100, NVLink 4), 1,8 TB/s (Blackwell, NVLink 5).

📅Generationen und Compute Capability

Die Compute Capability (CC) beschreibt den Funktionsumfang einer GPU – Code wird mit nvcc -arch=sm_XY für eine bestimmte CC übersetzt. Zahlen nur mit Quelle; wo keine eindeutige Angabe vorliegt, steht „–“.
ArchitekturJahrCompute CapabilityBeispielSMsFP32 je SMTensor CoresSpeicher / VerbindungNeuQuelle
Pascal20166.0 · 6.1Tesla P1005664 (GP100) · 128 (GP10x)–HBM2 (P100)
  • NVLink (1. Generation)
  • Unified Memory mit Seitenfehlern (Page Migration)
  • FP16 mit doppeltem Durchsatz (GP100)
[2] [1]
Volta20177.0Tesla V10080648 je SM (1. Gen, 640 gesamt)HBM2, 900 GB/s · NVLink 2: 300 GB/s
  • Tensor Cores
  • Independent Thread Scheduling (eigener Programmzähler je Thread)
  • L1 und Shared Memory zusammengelegt (128 KB je SM)
[3] [1]
Turing20187.5TU102 (Vollausbau)72648 je SM (2. Gen)GDDR6
  • RT Cores (Raytracing-Hardware, 1 je SM)
  • INT8/INT4 in den Tensor Cores
  • getrennte INT32- und FP32-Pfade
[4] [1]
Ampere20208.0 · 8.6A100 · RTX 3090 (GA102)108 (A100) · 82 (RTX 3090)64 (GA100) · 128 (GA102)4 je SM (3. Gen)A100 40 GB: HBM2, 1555 GB/s, 40 MB L2 · NVLink 3: 600 GB/s
  • TF32 und strukturierte Sparsity
  • Multi-Instance GPU (MIG)
  • asynchrone Kopie global → shared (cp.async)
[5] [6] [1]
Ada Lovelace20228.9GeForce RTX 40901281284 je SM (4. Gen, FP8)GDDR6X, 72 MB L2
  • FP8 in den Tensor Cores
  • RT Cores 3. Generation
  • stark vergrößerter L2-Cache
[7] [1]
Hopper20229.0H100 SXM51321284 je SM (4. Gen)HBM3, 3,35 TB/s, 50 MB L2 · NVLink 4: 900 GB/s
  • Thread Block Cluster + Distributed Shared Memory
  • Tensor Memory Accelerator (TMA)
  • Transformer Engine mit FP8
[8] [1]
Blackwell2024/2510.0 · 12.0B200 · GeForce RTX 5090170 (RTX 5090)1285. Gen (FP4)B200: 2 Dies, 208 Mrd. Transistoren, HBM3e 8 TB/s, NVLink 5: 1,8 TB/s · RTX 5090: 32 GB GDDR7, 1792 GB/s
  • FP4/FP6 in den Tensor Cores
  • Transformer Engine 2. Generation
  • zwei Dies als eine GPU (B200)
[9] [1]
  1. [1] NVIDIA: CUDA C++ Programming Guide – Compute Capabilities / Technical Specifications (2025)
  2. [2] NVIDIA Tesla P100 Whitepaper (Pascal GP100) (2016)
  3. [3] NVIDIA Tesla V100 GPU Architecture Whitepaper (Volta GV100) (2017)
  4. [4] NVIDIA Turing GPU Architecture Whitepaper (TU102) (2018)
  5. [5] NVIDIA A100 Tensor Core GPU Architecture Whitepaper (GA100) (2020)
  6. [6] NVIDIA Ampere GA102 GPU Architecture Whitepaper (2020)
  7. [7] NVIDIA Ada GPU Architecture Whitepaper (AD102) (2022)
  8. [8] NVIDIA H100 Tensor Core GPU Architecture Whitepaper (GH100) (2022)
  9. [9] NVIDIA Blackwell Architecture Technical Brief / B200- und GeForce-RTX-5090-Datenblatt (2024)