Was ist der Unterschied zwischen GPUs und CPUs?

Eine CPU oder Central Processing Unit ist eine Hardwarekomponente, die die zentrale Recheneinheit in einem Server darstellt. Sie verarbeitet alle Arten von Rechenaufgaben, die für die Ausführung des Betriebssystems und der Anwendungen erforderlich sind. Eine Grafikverarbeitungseinheit (GPU) ist eine ähnliche Hardwarekomponente, jedoch spezialisierter. Sie kann komplexe mathematische Operationen, die parallel ausgeführt werden, effizienter verarbeiten als eine allgemeine CPU. Während GPUs ursprünglich für Grafikrenderaufgaben in Spielen und Animationen entwickelt wurden, gehen ihre Einsatzmöglichkeiten heute weit darüber hinaus.

Ähnlichkeiten zwischen GPUs und CPUs

Sowohl CPUs als auch Grafikprozessoren (GPU) sind Hardwareeinheiten, die einen Computer zum Laufen bringen. Sie können sie sich als das Gehirn eines Computergeräts vorstellen. Beide haben ähnliche interne Komponenten, einschließlich Kerne, Speicher und Steuereinheiten.

Kern

Sowohl die GPU- als auch die CPU-Architektur verfügen über Kerne, die alle Berechnungen und logischen Funktionen ausführen. Der Kern ruft Befehle in Form von digitalen Signalen, sogenannten Bits, aus dem Speicher ab. Er dekodiert die Befehle und führt sie in einem Zeitrahmen, der als Befehlszyklus bezeichnet wird, durch logische Gates aus. CPUs hatten ursprünglich einen einzigen Kern, aber heute sind Mehrkern-CPUs und GPUs üblich.

Arbeitsspeicher

Sowohl CPUs als auch GPUs führen jede Sekunde Millionen von Berechnungen durch und verwenden internen Arbeitsspeicher, um die Verarbeitungsleistung zu verbessern. Der Cache ist der eingebaute Speicher, der einen schnellen Datenzugriff ermöglicht. In CPUs geben die Bezeichnungen L1, L2 oder L3 die Cache-Anordnung an. L1 ist am schnellsten und L3 ist am langsamsten. Eine Speicherverwaltungseinheit (MMU) steuert die Datenbewegung zwischen CPU-Kern, Cache und RAM in jedem Befehlszyklus.

Steuereinheit

Die Steuereinheit synchronisiert Verarbeitungsaufgaben und bestimmt die Frequenz der elektrischen Impulse, die die Verarbeitungseinheit erzeugt. CPUs und GPUs mit höherer Frequenz bieten eine bessere Leistung. Das Design und die Konfiguration dieser Komponenten unterscheiden sich jedoch bei einer CPU und einer GPU, sodass die beiden in verschiedenen Situationen nützlich sind.

Hauptunterschiede: CPUs versus GPUs

Die Einführung von Computergrafik und Animation führte zu den ersten rechenintensiven Workloads, für die CPUs einfach nicht ausgelegt waren. Für Videospielanimationen mussten Anwendungen beispielsweise Daten verarbeiten, um Tausende von Pixeln anzuzeigen – jede mit ihrer eigenen Farbe, Lichtintensität und Bewegung. Geometrische mathematische Berechnungen auf CPUs führten zu dieser Zeit zu Leistungsproblemen.

Hardwarehersteller erkannten allmählich, dass die Auslagerung gängiger multimedialer Aufgaben die CPU entlasten und die Leistung steigern könnte. Heute bewältigen GPU-Workloads (Graphics Processing Unit) mehrere rechenintensive Anwendungen wie Machine Learning und künstliche Intelligenz effizienter als CPUs.

Funktion

Der Hauptunterschied zwischen einer CPU und einer GPU liegt in ihren Funktionen. Ein Server kann ohne CPU nicht laufen. Die CPU erledigt alle Aufgaben, die für die korrekte Ausführung der gesamten Software auf dem Server erforderlich sind. Eine GPU hingegen unterstützt die CPU bei der gleichzeitigen Durchführung von Berechnungen. Eine GPU kann einfache und sich wiederholende Aufgaben viel schneller erledigen, da sie die Aufgabe in kleinere Komponenten aufteilen und diese parallel erledigen kann.

Design

GPUs zeichnen sich durch die parallele Verarbeitung durch mehrere Kerne oder arithmetische Logikeinheiten (ALU) aus. GPU-Kerne sind weniger leistungsstark als CPU-Kerne und haben weniger Speicher. Während CPUs schnell zwischen verschiedenen Befehlssätzen wechseln können, nimmt eine GPU einfach eine große Menge derselben Befehle auf und leitet sie mit hoher Geschwindigkeit durch. Daher spielen GPU-Funktionen eine wichtige Rolle beim parallelen Rechnen.

Beispiel für die Unterschiede

Betrachten Sie zum besseren Verständnis die folgende Analogie. Die CPU ist wie ein Chefkoch in einem großen Restaurant, der dafür sorgen muss, dass Hunderte von Burgern umgedreht werden. Auch wenn der Chefkoch das persönlich machen kann, ist das nicht die beste Zeitnutzung. Alle Küchenvorgänge könnten unterbrochen oder verlangsamt werden, während der Chefkoch diese einfache, aber zeitaufwändige Aufgabe erledigt. Um dies zu vermeiden, kann der Chefkoch Junior-Assistenten einsetzen, die mehrere Burger parallel wenden. Die GPU ist eher wie ein Junior-Assistent mit zehn Händen, der in 10 Sekunden 100 Burger wenden kann.

Wann GPUs statt CPUs verwendet werden sollten

Es ist wichtig zu beachten, dass die Wahl zwischen CPUs und Grafikprozessoren (GPU) kein Entweder-Oder ist. Jeder Server oder jede Server-Instance in der Cloud benötigt eine CPU, um ausgeführt zu werden. Einige Server enthalten jedoch auch GPUs als zusätzliche Co-Prozessoren. Bestimmte Workloads eignen sich besser für die Ausführung auf Servern mit GPUs, die bestimmte Funktionen effizienter ausführen. GPUs eignen sich beispielsweise hervorragend für die Berechnung von Fließkommazahlen, die Grafikverarbeitung oder den Abgleich von Datenmustern.

Hier sind einige Anwendungen, bei denen es nützlich sein kann, GPUs anstelle von CPUs zu verwenden.

Deep Learning

Deep Learning ist eine Methode der künstlichen Intelligenz (KI), die Computern beibringt, Daten auf eine Weise zu verarbeiten, die den Vorgängen des menschlichen Gehirns ähnelt. Deep-Learning-Algorithmen erkennen beispielsweise komplexe Muster in Bildern, Texten, Tönen und anderen Daten, um genaue Erkenntnisse und Vorhersagen zu erhalten. GPU-basierte Server bieten eine hohe Leistung für Machine Learning, neuronale Netzwerke und Deep-Learning-Aufgaben.

Weitere Informationen über Deep Learning »

Weitere Informationen über Machine Learning »

Weitere Informationen über neuronale Netzwerke »

High-Performance Computing (HPC)

Der Begriff High-Performance Computing bezieht sich auf Aufgaben, die eine sehr hohe Rechenleistung erfordern. Hier sind einige Beispiele:

  • Sie müssen geowissenschaftliche Simulationen und seismische Verarbeiterungen mit Geschwindigkeit und Maßstab durchführen
  • Sie müssen Finanzsimulationen projizieren, um Risiken im Produktportfolio, Absicherungsmöglichkeiten und mehr zu identifizieren
  • Sie müssen prädiktive, Echtzeit- oder retrospektive datenwissenschaftliche Anwendungen in den Bereichen Medizin, Genomik und Pharmaforschung entwickeln

Ein GPU-basiertes Computersystem eignet sich besser für solche High-Performance-Computing-Aufgaben.

Lesen Sie mehr über High-Performance Computing »

Autonome Fahrzeuge

Für die Entwicklung und Bereitstellung fortschrittlicher Fahrerassistenzsysteme (ADAS) und Systeme für autonome Fahrzeuge (AV) benötigen Sie hochskalierbare Rechen-, Speicher-, Netzwerk- und Analysetechnologien. Sie benötigen beispielsweise Funktionen für die Datenerfassung, Kennzeichnung und Annotation, Kartenentwicklung, Algorithmenentwicklung, Simulationen und Überprüfung. Solche komplexen Workloads erfordern die Unterstützung von GPU-basierten Computersystemen, um effizient zu funktionieren.

Zusammenfassung der Unterschiede: CPU versus GPU

 

CPU

Grafikverarbeitungseinheit (GPU)

Funktion

Generalisierte Komponente, die die Hauptverarbeitungsfunktionen eines Servers abwickelt

Spezialisierte Komponente, die sich durch paralleles Rechnen auszeichnet

Verarbeitung

Konzipiert für die serielle Befehlsverarbeitung

Konzipiert für die parallele Befehlsverarbeitung

Design

Weniger, leistungsstärkere Kerne

Mehr Kerne als CPUs, aber weniger leistungsstark als CPU-Kerne

Am besten geeignet für

Computeranwendungen für allgemeine Zwecke

High-Performance-Computing-Anwendungen

Wie kann AWS Ihre CPU- und GPU-Serveranforderungen unterstützen?

Amazon Web Services (AWS) bietet Amazon Elastic Compute Cloud (Amazon EC2), die umfassendste und tiefste Rechenplattform. Es verfügt über mehr als 500 Instances, und Sie haben die Wahl zwischen dem neuesten Prozessor-, Speicher-, Netzwerk-, Betriebssystem- und Kaufmodell, damit Sie die Anforderungen Ihres Workloads am besten erfüllen können.

Hier sind einige Highlights dessen, was Amazon EC2 bietet:

  • Allzweck-Instances bieten ein ausgewogenes Verhältnis zwischen Rechen-, Arbeitsspeicher- und Netzwerkressourcen. Sie können zwischen Konfigurationen mit 2-128 virtuellen CPUs wählen.
  • Beschleunigte Computing-Instances bieten zusätzliche GPU-Kerne (Graphics Processing Unit) für zusätzliche Rechenleistung. Sie erhalten bis zu acht GPUs in jeder Instance.

Beginnen Sie mit Server-Instances auf AWS, indem Sie noch heute ein kostenloses Konto erstellen.

Nächste Schritte mit AWS

Mit der Entwicklung mit GPUs beginnen
Mit der Entwicklung mit CPUs beginnen