Deep Learning GPU Benchmarks

Im Folgenden bieten wir einen Überblick über die Deep-Learning Leistung aktueller High-End-GPUs. Enthalten sind die neuesten Angebote von NVIDIA: Die Hopper- und Ada-Lovelace- GPU-Generation. Auch die Leistung von Multi-GPU-Setups wird bewertet.

Table of contents

Übersicht der getesteten GPUs

Obwohl wir nur eine kleine Auswahl aller verfügbaren GPUs getestet haben, sind wir der Meinung, dass wir die GPUs abgedeckt haben, die aufgrund ihrer Rechen- und Speicherkapazitäten und ihrer Kompatibilität mit den aktuellen Deep-Learning-Frameworks, nämlich Pytorch und Tensorflow, derzeit am besten für Deep-Learning-Entwicklung und -Training geeignet sind.

Als Referenz werden auch die schon etwas in die Jahre gekommenen GPUs Geforce GTX 1080 Ti, RTX 2080 Ti, RTX 3090 und Tesla V100 einbezogen, um den Anstieg der Rechenleistung in den letzten Jahren zu visualisieren.

GTX 1080TI

Geeignet für: Workstations

Erhältlich seit: 2017.03

Architektur: Pascal

VRAM Speicher (GB): 11 (GDDR5X)

Cuda Cores: 3584

Tensor Cores: -

Energieverbrauch (Watt): 250

Speicher Bandbreite (GB/s): 484

Geforce RTX 2080TI

Geeignet für: Workstations

Erhältlich seit: 2018.09

Architektur: Turing

VRAM Speicher (GB): 11 (DDR6)

Cuda Cores: 5342

Tensor Cores: 544

Energieverbrauch (Watt): 260

Speicherbandbreite (GB/s): 616

QUADRO RTX 5000

Geeignet für:Workstations/Server

Erhältlich seit: 2018.08

Architektur: Turing

VRAM Speicher (GB): 16 (GDDR6)

Cuda Cores: 3072

Tensor Cores: 384

Energieverbrauch (Watt): 230

Speicherbandbreite (GB/s): 448

Geforce RTX 3090

Geeignet für:Workstations/Server

Erhältlich seit: 2020.09

Architektur: Ampere

VRAM Speicher (GB): 24 (GDDR6X)

Cuda Cores: 10496 Tensor Cores: 328

Energieverbrauch (Watt): 350

Speicherbandbreite (GB/s): 936

RTX A5000

Geeignet für: Workstations/Server

Erhältlich seit: 2021.04

Architektur: Ampere

VRAM Speicher (GB): 24 (GDDR6)

Cuda Cores: 8192

Tensor Cores: 256

Energieverbrauch (Watt): 230

Speicherbandbreite (GB/s): 768

RTX A5500

Geeignet für: Workstations/Server

Erhältlich seit: 2022.03

Architektur: Ampere

VRAM Speicher (GB): 24 (GDDR6)

Cuda Cores: 10240

Tensor Cores: 220

Energieverbrauch(Watt): 230

Speicherbandbreite (GB/s): 768

RTX 5000 Ada

Geeignet für: Server

Erhältlich seit: 2023.08

Architektur: Ada Lovelace

VRAM Speicher (GB): 32 (GDDR6)

Cuda Cores: 12800

Tensor Cores: 400

Energieverbrauch (Watt): 250

Speicherbandbreite (GB/s): 576

RTX A6000

Geeignet für: Workstations/Server

Erhältlich seit: 2020.10

Architektur: Ampere

VRAM Speicher (GB): 48 (GDDR6)

Cuda Cores: 10752

Tensor Cores: 336

Energieverbrauch (Watt): 300

Speicherbandbreite (GB/s): 768

AMD Instinct MI100

Geeignet für: Server

Erhältlich seit: 2020.11

Architektur: CDNA (1)

VRAM Speicher (GB): 32 (HBM2)

Stream Prozessoren: 7680

Energieverbrauch (Watt): 250

Speicherbandbreite (TB/s): 1.2

Geforce RTX 4090

Geeignet für: Workstations

Erhältlich seit: 2022.10

Architektur: Ada Lovelace

VRAM Speicher (GB): 24 (GDDR6X)

Cuda Cores: 16384

Tensor Cores: 512

Energieverbrauch (Watt): 450

Speicherbandbreite (GB/s): 1008

RTX 6000 Ada

Geeignet für: Workstations/Server

Erhältlich seit: 2022.09

Architektur: Ada Lovelace

VRAM Speicher (GB): 48 (GDDR6)

Cuda Cores: 18176

Tensor Cores: 568

Energieverbrauch (Watt): 300

Speicherbandbreite (GB/s): 960

NVIDIA L40S

Geeignet für: Server

Erhältlich seit: 2022.09

Architektur: Ada Lovelace

VRAM Speicher (GB): 48 (GDDR6)

Cuda Cores: 18176

Tensor Cores: 568

Energieverbrauch (Watt): 300

Speicherbandbreite (GB/s): 864

Tesla V100

Geeignet für: Server

Erhältlich seit: 2017.05

Architektur: Volta

VRAM Speicher (GB): 16 (HBM2)

Cuda Cores: 5120

Tensor Cores: 640

Energieverbrauch (Watt): 250

Speicherbandbreite (GB/s): 900

A100

Geeignet für: Server

Erhältlich seit: 2020.05

Architektur: Ampere

VRAM Speicher (GB): 40/80 (HBM2)

Cuda Cores: 6912

Tensor Cores: 512

Energieverbrauch (Watt): 300

Speicherbandbreite (GB/s): 1935 (80 GB PCIe)

H100

Geeignet für: Server

Erhältlich seit: 2022.10

Architektur: Grace Hopper

VRAM Speicher (GB): 80 (HBM2)

Cuda Cores: 14592

Tensor Cores: 456

Energieverbrauch (Watt): 350

Speicherbandbreite (GB/s): 2000

Der Deep Learning Benchmark

Für unsere Performance-Messung wird das visuelle Klassifizierer Model ResNet50 in Version 1.5 verwendet. Als klassisches Deep-Learning-Netzwerk mit seiner komplexen 50-Schichten-Architektur mit verschiedenen Faltungs- und Residual-Schichten ist es immer noch ein geeignetes Netzwerk für die Messung der erreichbaren Deep-Learning-Leistung. Da es in vielen Benchmarks verwendet wird, ist eine nahezu optimale Implementierung verfügbar, welche die maximale Leistung aus der GPU herausholt und dabei aufzeigt, wo die tatsächlichen Leistungsgrenzen der Hardware liegen.

Der Vergleich der GPUs wurde mit synthetischen Zufallsbilddaten durchgeführt, um den Einfluss externer Faktoren wie der Art des Datensatzes (SSD oder HDD), des Dataloaders und des Datenformats zu minimieren.

In Bezug auf die verwendeten Einstellungen sind zwei wichtige Punkte zu beachten: Die erste ist die XLA-Funktion, eine Tensorflow-Optimierung, die vor einiger Zeit als stabil erklärt wurde, standardmäßig aber noch immer ausgeschaltet ist. XLA (Accelerated Linear Algebra) optimiert den Netzgraphen, indem es Teile des Netzes speziell für die jeweilige Hardware in optimierte GPU-Kernel kompiliert. Dies kann Leistungsvorteile von 10% bis 30% im Vergleich zu den statischen Tensorflow-Kerneln für verschiedene Schichttypen bringen. Diese Funktion kann durch eine einfache Option oder ein Umgebungsflag aktiviert werden und maximiert die Ausführungsleistung.

Der zweite Punkt ist die Verwendung von Mixed Precision. Bei Inferenzaufgaben ist eine niedrigere Fließkommagenauigkeit die Standardmethode zur Leistungssteigerung. Für die meisten Trainingssituationen kann Float-16bit-Präzision auch für Trainingsaufgaben mit vernachlässigbarem Verlust an Trainingsgenauigkeit verwendet werden, was Trainingsaufgaben deutlich beschleunigen kann. Die Anwendung der Float-16bit-Präzision ist nicht trivial, da die Modellschichten entsprechend angepasst werden müssen. Da nicht alle Berechnungsschritte mit einer niedrigeren Bitgenauigkeit durchgeführt werden sollten, wird das Mischen verschiedener Bitauflösungen für die Berechnung als Mixed Precision bezeichnet.

Die für den Benchmark verwendeten Tensorflow 2 Python-Skripte sind als Tensorflow2 Benchmark auf Github verfügbar.

Die Testumgebung

Der AIME A4000 Server und die AIME G400 Workstation sind optimierte Umgebungen für den Betrieb mehrerer Hochleistungs-GPUs. Sie bieten einerseits eine ausgeklügelte Stromversorgung und Kühlung, die notwendig ist, um die maximale Leistung zu erreichen und 24/7 zu halten, und andererseits die Möglichkeit, jede GPU in einem PCIe-4.0-x16-Steckplatz zu betreiben, der ohne Switches, direkt mit der CPU verbunden ist.

Die technischen Spezifikationen für die Reproduzierbarkeit unserer Benchmarks sind:

Für Server geeignete GPUs: AIME A4000, AMD EPYC 7543 (32 cores), 128 GB ECC RAM

Für GPUs nur montierbar in Workstations: AIME G400, AMD Threadripper Pro 5955WX (16 cores), 128 GB ECC RAM

Unter Anwendung der AIME Machine Learning Container (MLC) Management Ungebung mit folgender Konfiguration:

  • Ubuntu 20.04
  • NVIDIA Treiber Version 520.61.5
  • CUDA 11.2
  • CUDNN 8.2.0
  • Tensorflow 2.9.0 (official build)

Die folgende Konfiguration wurde für die NVIDIA H100, RTX 6000 Ada, L40S, RTX 4090,  RTX 5000 Ada,RTX A6000, RTX A5500 and RTX A5000 GPU verwendet:

  • CUDA 11.8
  • CUDNN 8.6.0
  • Tensorflow 2.13.1 (official build)

Die AMD GPU im Benchmark, die AMD Instinct MI100, wurde getestet mit:

  • ROCM 5.4
  • MIOpen 2.19.0
  • Tensorflow 2.11.0 (AMD build)

Single-GPU-Leistung

Das Ergebnis unserer Messungen wird mit der Anzahl der durchschnittlich verarbeiteten Bilder pro Sekunde angegeben, die über eine Dauer von 50 Batches mit der angegeben Batchgröße trainiert werden können. Es wurde der Durchschnitt von drei Durchläufen ermittelt. Die Starttemperatur aller GPUs lag dabei unter 50° Celsius.

Die Beschleunigung mit GPUs im Vergleich zu einer 32-Kern-CPU steigt hier um mehrere Größenordnungen, was GPU-Computing nicht nur machbar, sondern für leistungsstarke Deep-Learning-Aufgaben zwingend erforderlich macht.

Die Messungen mit 16 Bit Mixed Precision Training:

Die Ergebnisse zeigen, dass durch die Verwendung von Mixed Precision die Leistung bis ins Dreifache gesteigert werden kann.

Multi-GPU Deep Learning Trainingsleistung

Die nächste Stufe zur Steigerung der Deep-Learning-Leistung besteht darin, die Arbeits- und Trainingslast auf mehrere GPUs zu verteilen. Der AIME A4000 Server und die AIME G400 Workstation unterstützen bis zu 4 GPUs.

Deep Learning lässt sich über mehrere GPUs hinweg gut skalieren. Die am häufigsten verwendete Methode für die Multi-GPU-Skalierung, die in mindestens 90% der Fälle eingesetzt wird, ist die Verteilung des Batche auf die verfügbaren GPUs. Daher ist die effektive Batch-Größe die Summe der Batch-Größen der verwendeten GPUs.

Dabei berechnet jede GPU die Propagations für die angelegten Eingaben des Batch-Bereichs. Die Ergebnisse jeder GPU werden dann summiert, gemittelt und die Gewichte des Modells werden entsprechend angepasst. Das Ergebniss muss wieder an alle GPUs zurück übertragen werden.

Nach der Berechnung eines Batches findet das Maximum der Kommunikationslast statt, da dann die Ergebnisse der Batches gesammelt und die Gewichte angepasst werden. Dieser Vorgang muss abgeschlossen sein, bevor der nächste Batch gestartet werden kann. Während die GPUs an einem Batch arbeiten, findet kaum oder überhaupt keine Kommunikation zwischen den GPUs statt.

Bei dieser Standardlösung für die Multi-GPU-Skalierung muss sichergestellt sein, dass alle GPUs mit der gleichen Geschwindigkeit arbeiten, ansonsten ist die langsamste GPU der Engpass, auf den alle GPUs warten müssen. Daher ist das Mischen verschiedener GPU-Typen beim Skalieren nicht sinnvoll.

Die nächsten beiden Diagramme zeigen, wie gut die RTX A5000 bei Verwendung von single und mixed precision skaliert.

Es wird ein guter linearer und konstanter Skalierungsfaktor von etwa 0,9 erreicht, was bedeutet, dass jede zusätzliche GPU etwa 90 % der theoretischen linearen Leistung hinzufügt. Der gleiche Skalierungsfaktor wird auch mit Mixed Precission Berechnungen erzielt.

Mit der RTX 4090 sieht die Situation etwas anders aus. Während die single GPU Leistung überzeugt, erfüllt die Multi-GPU Leistung nicht die Erwartungen. Wie im Diagramm unten gezeigt beträgt der Skalierungsfaktor lediglich 0.76 - nicht genug für ein effizientes Multi-GPU-Setup.

Der Grund hierfür liegt wahrscheinlich an einer von Nvidia beabsichtigten Marktsegmentierung um die Pro-GPUs von der billigeren Geforce 'Consumer' Serie, die nicht in Multi-GPU-Servern zum Einsatz kommen soll, abzugrenzen.

Fazit

Mixed Precision kann das Training um mehr als den Faktor 2 beschleunigen

Es zeigt sich, dass es sich für eine Leistungssteigerung lohnen kann, das Training von Float 32-Präzision auf Mixed-Precision-Training umzustellen. Das Anpassen der Software an die jeweiligen Anforderungen könnte ein sehr effizienter Schritt sein, um die Leistung zu verdoppeln.

Multi-GPU-Skalierung ist mehr als machbar

Deep-Learning-Leistungsskalierung im Multi-GPU-Betrieb skaliert zumindest für bis zu 4x GPUs sehr gut. Die Verwendung von 2x GPUs übertrifft in den meisten Fällen die nächst leistungsstärkere GPU in Bezug auf Preis und Leistung.

Die parallele Verwendung verschiedener GPU-Typen ist nicht sinnvoll.

Die langsamste GPU gibt den Takt vor, auf die alle anderen GPUs warten müssen!

Welche ist die beste GPU für Deep Learning?

Die Rechenleistung ist mit Sicherheit der wichtigste Aspekt einer GPU, die für Deep-Learning-Aufgaben verwendet wird, allerdings nicht der einzige Entscheidungsfaktor.

Im Folgenden listen wir unsere Einschätzungen für die vielversprechendsten Deep-Learning-GPUs auf:

RTX A5000

Die RTX A5000 ist eine gute Einstiegskarte für Deep Learning Training und Inference Aufgaben. Mit einer sehr guten Energieeffizienz bringt sie eine ähnliche Leistung das deutlich energiehungrigere Grafikkarten-Flaggschiff der Ampere Generation, die RTX 3090.

Im Hinblick auf das Preis-Leistungs-Verhältnis fällt auf: Ein Setup bestehend aus 4x RTX A5000 kann eine höhere Leistung erzielen als eine einzelne, ca. 10 mal teureren, NVIDIA H100 80GB.

RTX A6000

Der größere Bruder der RTX A5000 mit 48 GB GDDR6-Speicher ist eine zukunftssichere Version der RTX 3090, um auch langfristig größer werdende Deep Learning Modelle laden zu können. Besonders für Inferenz-Aufgaben die viel Speicher benötigen, ist die RTX A6000 eine geeignete Wahl.

RTX 4090

Die erste GPU der NVIDIA Ada Lovelace Generation. Die GPU Performance als alleinstehende GPU ist sehr überzeugend, was auch dem hohen zur Verfügung stehendem Leistungsbudget von 450 Watt geschuldet ist. Allerdings ist die Multi-GPU-Performance nicht überzeugend. Abgesehen von Inferenz-Aufgaben, bei welchen die volle Performance einer einzelner Karten genutzt werden kann und keine Kommunikation zwischen den GPUs erforderlich ist, wird ein Multi-GPU-Setup aus mehr als zwei RTX 4090 GPUs keine effizient skalierbare Lösung sein.

RTX 6000 Ada / L40S

Die Pro-Versionen der RTX 4090 mit doppelt so viel GPU-Speicher (48 GB) und sehr solider Leistung bei moderatem Energiebedarf. Die schnellste skalierbare Allround-GPU mit dem besten Preis-Leistungs-Verhältnis im High-End Bereich, auch geeignet für größere Sprachmodelle.

Die RTX 6000 Ada ist die schnellste verfügbare Karte für Multi-GPU-Workstations.

Auf den ersten Blick scheint die L40S als die serverseitig ausschließlich passiv gekühlte Version der RTX 6000 Ada, da die Spezifikationen des GPU-Prozessors gleich zu sein scheinen. Sie hat jedoch einen kleinen Nachteil: eine etwa 10% niedrigere Speicherbandbreite, was sich auf ihre mögliche Leistung in diesem Benchmark auswirkt.

RTX 5000 Ada

Die RTX 5000 Ada ist eine der späteren Ergänzungen zur NVIDIA Ada Love Lace Serie und positioniert sich als Nachfolger der RTX A5000. Sie ist ein guter Ersatz, aber bietet keine signifikante Leistungssteigerung gegenüber der RTX A5000. Der größte Nachteil der RTX 5000 Ada ist ihre niedrigere Speicherbandbreite von 576 GB/s. Auf der positiven Seite liegen die 32 GB GDDR6-Speicher, die in einigen Anwendungsfällen größere Batchgrößen ermöglichen können.

NVIDIA A100 (40 GB / 80 GB)

Der erste dedizierte Deep-Learning-Beschleuniger von NVIDIA, der eine sehr hohe Leistungsdichte insbesondere bei Deep Learning bietet. Die 40-GB-Modelle werden nicht mehr hergestellt und sind kaum noch verfügbar, aber das 80-GB-Modell ist nach wie vor sehr beliebt.

Der 80-GB-HBM2-Speicher ist das Schlüsselargument für die Skalierung mit größeren Modellen.

Der geringere Stromverbrauch von 250/300 Watt in der PCIe-Version im Vergleich zur 400-Watt-SXM-Version der DGX/HGX-Server mit vergleichbarer Leistung unter Dauerlast kann ein zu berücksichtigender Faktor bei den Strom- und Kühlungskosten sein.

Ein Setup mit acht NVIDIA A100, wie es mit dem AIME A8000 möglich ist, katapultiert einen in den Bereich des Multi-PetaFLOPS-HPC-Computings.

NVIDIA H100

Wenn die höchste Leistung unabhängig vom Preis und die höchste Leistungsdichte benötigt werden, ist derzeit die NVIDIA H100 die erste Wahl: Sie bietet High-End-Deep-Learning-Leistung.

Der größte Vorteil gegenüber der NVIDIA A100, neben ihrer etwa 40% höheren Grundleistung, ist die Möglichkeit der FP8-Berechnung, die die Rechenleistung verdoppeln kann, insbesondere bei Inferenzaufgaben.

Es handelt sich auch um den ersten PCIe-5.0-fähigen Beschleuniger, daher ist diese Karte am besten für PCIe-5.0-fähige Server wie den AIME A4004 und AIME A8004 geeignet, um einen komfortablen Datenaustausch von 128 GB/s zwischen den Beschleunigern zu ermöglichen.

Dieser Artikel wird bei Verfügbarkeit von neuen GPUs, Ergänzungen und Korrekturen aktualisiert.

Fragen oder Anmerkungen? Bitte kontaktieren Sie uns unter: hello@aime.info

Spread the word

Weiter lesen...