CPU vs. GPU: Unterschiede in Architektur und Einsatz

Eine CPU ist darauf ausgelegt, eine einzelne Aufgabe so schnell wie möglich zu erledigen, und hat daher wenige leistungsfähige Kerne mit großen Caches und ausgefeilter Steuerlogik. Eine GPU ist darauf ausgelegt, viele ähnliche Aufgaben gleichzeitig zu erledigen, und hat daher Tausende einfache Recheneinheiten, die Speicherlatenzen durch den Wechsel zwischen riesigen Mengen von Threads verbergen. CPUs eignen sich für komplexe, verzweigte, serielle Arbeit, GPUs für massiv parallele Mathematik wie Grafik und Deep Learning.

AspektCPUGPU
EntwurfszielNiedrige Latenz: einen einzelnen Thread so schnell wie möglich abschließenHoher Durchsatz: möglichst viel Gesamtarbeit abschließen
KernanzahlEinige wenige bis einige hundert komplexe KerneTausende einfache Recheneinheiten, zu größeren Blöcken zusammengefasst
AusführungsmodellOut-of-Order-Ausführung und Sprungvorhersage in jedem Kern, plus SIMD-BefehleSIMT: Gruppen von Threads (z. B. 32) führen denselben Befehl gemeinsam aus
Steuerlogik und CacheGroße Caches und aufwendige Steuerlogik belegen einen großen Teil der ChipflächeMehr Fläche geht an Recheneinheiten; die Caches sind pro Thread kleiner
Verbergen der SpeicherlatenzÜberwiegend durch Caches und PrefetchingÜberwiegend durch Wechsel zu anderen bereiten Threads, während einer wartet
SpeicherDDR oder LPDDR, typischerweise einige zehn bis einige hundert GB/s BandbreiteGDDR oder HBM, typischerweise einige hundert GB/s bis mehrere TB/s Bandbreite
VerzweigungenBewältigt Verzweigungen und unregelmäßigen Code gutWird langsamer, wenn Threads einer Gruppe unterschiedliche Zweige nehmen (Divergenz)
DatenortArbeitet direkt im HauptspeicherEine dedizierte GPU hat eigenen Speicher, die Daten müssen daher über einen Bus wie PCIe kopiert werden
ProgrammierungNahezu jede Sprache und jedes WerkzeugSpezialisierte Modelle wie CUDA, HIP, OpenCL und Grafik-Shader-Sprachen
Typische WorkloadsBetriebssysteme, Datenbanken, Steuerlogik, allgemeine AnwendungenGrafik, Matrix- und Vektormathematik, Deep Learning, Simulation

Die Zahlenangaben sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welches einsetzen

CPU
Wenn die Arbeit seriell und verzweigt ist oder schnelle Reaktion eines Threads erfordert: Betriebssystem, Anwendungslogik, Datenbanken.
GPU
Wenn dieselbe Operation auf eine riesige Datenmenge angewendet wird: Bildberechnung (Rendering), Training und Ausführung neuronaler Netze, wissenschaftliche Simulation.
Zusammen
Die meisten Systeme nutzen beide. Die CPU führt das Programm aus und bereitet die Daten vor, die GPU übernimmt die aufwendige parallele Mathematik. Wird einer GPU zu wenig Arbeit übergeben, kann das wegen der Kopierkosten langsamer sein als auf der CPU zu bleiben.

FAQ

Warum ist eine GPU für Deep Learning schneller als eine CPU?

Deep Learning besteht überwiegend aus Matrixmathematik, die sich in viele identische Operationen aufteilen lässt. Eine GPU hat Tausende einfache Recheneinheiten und eine sehr hohe Speicherbandbreite und bewältigt diese parallele Arbeit daher weit besser als die wenigen komplexen Kerne einer CPU.

Kann eine GPU eine CPU ersetzen?

Nein. GPUs sind schlecht bei verzweigtem, seriellem Code und brauchen eine CPU, die das Betriebssystem ausführt und sie mit Daten versorgt. Beide arbeiten zusammen.

Was bedeutet SIMT bei einer GPU?

SIMT (Single Instruction, Multiple Threads) bedeutet, dass eine Gruppe von Threads, zum Beispiel 32, denselben Befehl gemeinsam auf unterschiedlichen Daten ausführt. Nehmen Threads einer Gruppe verschiedene Zweige, laufen sie nacheinander ab, was Divergenz genannt wird.

Warum kann die Nutzung einer GPU bei kleinen Aufgaben langsamer sein?

Daten müssen über einen Bus wie PCIe zwischen CPU-Speicher und GPU-Speicher kopiert werden. Bei geringer Arbeitsmenge kann die Kopierzeit größer sein als die von der GPU eingesparte Zeit.

Wichtige Begriffe erklärt

GPU (Grafikprozessor)
Abkürzung für Graphics Processing Unit: Prozessor mit vielen einfachen Ausführungseinheiten, der große Datenmengen parallel verarbeitet. Neben Grafik wird er häufig für Training und Inferenz von KI eingesetzt.
SIMD
Abkürzung für Single Instruction, Multiple Data: Ein Befehl führt dieselbe Operation gleichzeitig auf mehreren Datenelementen aus. Das beschleunigt Bildverarbeitung und KI-Berechnungen.
Cache-Speicher
Schneller, kleiner Speicher in der Nähe der CPU. Er hält häufig genutzte Daten vor, um den Geschwindigkeitsunterschied zum Hauptspeicher zu überbrücken. Meist aus SRAM aufgebaut.
HBM
High Bandwidth Memory. Mehrere per TSV gestapelte DRAM-Dies, die durch einen extrem breiten Bus sehr hohe Bandbreite erreichen.

Weitere Vergleiche