Was ist NVIDIA NVLink?

Einleitung

Mit der rasanten Entwicklung der KI- und HPC-Technologie haben die Hochgeschwindigkeitsverbindung und die Skalierbarkeit von GPUs höhere Anforderungen gestellt. Eine Verbindungstechnologie mit hoher Bandbreite, geringer Latenz und hoher Leistung ist für die allgemeine Verbesserung der KI-Rechnerleistung von entscheidender Bedeutung. Im April dieses Jahres stellte Lao Huang auf der GTC-Konferenz die dritte Generation von NVIDIA NVSwitch und die vierte Generation von NVLink-Technologie vor, die eine Hochgeschwindigkeits-Punkt-zu-Punkt-Verbindungslösung für die neu veröffentlichten H100-GPUs bietet, die noch schneller ist als die A100-GPUs, und diese Art von Netzwerk verfügt über den Prototyp des NVLink-Netzwerks.

Der NVSwitch-Chip der dritten Generation, genannt NVSwitch3, kann verwendet werden, um jede GPU-Karte im Server zu verbinden und die externe Verbindung des GPU-Servers zu erweitern, um einen vollständig unabhängigen GPU-Hochgeschwindigkeitscluster einzurichten. Gleichzeitig unterstützt der NVSwitch-Chip die Multicast-Nachrichtenbeschleunigung durch Hardware-Gaspedale und führt SHARP (Scalable Hierarchical Aggregation and Reduction Protocol) ein, eine wichtige Funktion, die bisher nur in IB-Switches verfügbar war und hauptsächlich zur Beschleunigung und Optimierung des All- Reduzieren Sie die KI-Berechnung. -Reduzieren Sie die KI-Rechenleistung. Mittlerweile ist es durch den NVSwitch-Chip der dritten Generation, der aus physischen Switches besteht, möglich, einen Cluster von bis zu 256 H100-GPU-Karten aufzubauen, und das gesamte Netzwerk bietet eine All-to-All-Bandbreite von 57.6 TB/s. Die verwendete NVLink 4.0-Spezifikation kann die Leistung und Skalierbarkeit der GPU erheblich optimieren, da die parallele Prozessblockstruktur der GPU-Architektur die parallele Struktur von NVLink widerspiegelt, während die Schnittstelle von NVLink weiter für den Datenaustausch im GPU-L2-Cache optimiert ist.

NVSwitch-Chip
NVLink

NVLink ist ein Protokoll zur Lösung der Punkt-zu-Punkt-Kommunikation zwischen GPUs innerhalb des Servers. Die herkömmliche PCIe-Switch-Rate ist wie folgt. Das neueste PCIE5.0 bietet nur eine Bandbreite von 32 Gbit/s pro Lane, was im Grunde nicht die Anforderungen an die Kommunikationsbandbreite zwischen den GPUs erfüllt Die GPUs und mit der NVLink-Technologie können sich die GPUs direkt im Server befinden. Mit der NVLink-Technologie können GPUs innerhalb des Servers mit hoher Geschwindigkeit direkt miteinander verbunden werden, ohne dass eine Kommunikation über PCIe-Switches erforderlich ist. Der NVLink der vierten Generation verfügt über eine Bandbreite von 112 Gbit/s pro Lane, was dreimal höher ist als die Bandbreite einer PCIe Gen5-Lane.

Leistung der PCI-Express-Verbindung

Der Hauptzweck von NVLink besteht darin, ein Hochgeschwindigkeits-Punkt-zu-Punkt-Netzwerk bereitzustellen GPU-Verbindungen ohne den Overhead der End-to-End-Nachrichtenübertragung, des adaptiven Routings und der Nachrichtenzusammenstellung im Vergleich zu herkömmlichen Netzwerken. Die extrem vereinfachte NVLink-Schnittstelle bietet CUDA-Beschleunigung von der Sitzungsschicht über die Darstellungsschicht bis hin zur Anwendungsschicht und reduziert so den Netzwerk-Overhead aufgrund der Kommunikation weiter.

HC34-NVIDIA-NVSwitch-NVLink-Generationen
NVlink-Bandbreite pro GPU

Wie in der Abbildung dargestellt, können wir sehen, dass sich NVLink zusammen mit der GPU-Architektur weiterentwickelt hat, vom NVLink1 der ersten Generation für P100 bis zum aktuellen NVLink4 für H100. NVLink3 unterstützt sowohl 50G NRZ als auch 56G PAM4, während NVLink4 erstmals 112G PAM4 Serdes einführt, das 900 GB/s bidirektionale Bandbreite bereitstellen kann, eine 1.5-fache Steigerung gegenüber den 3 GB/s der vorherigen Generation von NVLink600. Wie werden also 900 GB/s berechnet? Jede H100-GPU ist über 3 NVLink18-Links mit einem internen NVSwitch4-Chip verbunden, und jeder NVLink4-Link besteht eigentlich aus zwei Lanes, jede Lane ist 112G PAM4, sodass ein einzelner NVLink4-Link eine unidirektionale Bandbreite von 224 Gbit/s oder 25 GB/s hat (beachten Sie das hier). es ändert sich von Bits zu Byte) unidirektionale Bandbreite, 50 GB/s bidirektionale Bandbreite und 18 NVLink4-Links haben insgesamt 900 GB/s bidirektionale Bandbreite.

NVSchalter Chip

NVSwitch Chip der dritten Generation

Ein NVSwitch-Chip ist eine Art Switch-ASIC, der mehrere GPUs mit Hochgeschwindigkeits-NVLink-Schnittstellen verbinden kann und so die Kommunikation und Bandbreite zwischen GPUs innerhalb eines Servers verbessert. Als P100 NVLink1 verwendete, gab es keinen NVSwitch-Chip und die GPUs bildeten eine Ringverbindung, was eine direkte Kommunikation zwischen GPUs auf verschiedenen NUMA-Knoten verhinderte. Beginnend mit V100 mit NVLink2 wurde ein NVSwitch1-Chip hinzugefügt, und dann verwendete A100 mit NVLink3 den NVSwitch2-Chip. Der nächste ist der NVSwith3-Chip für H100.

nvlink-4-nvswitch
NVlink plus scharf

Der Chip wird mit dem 4N-Prozess von TSMC hergestellt und beherbergt 25.1 Milliarden Transistoren auf einem Chip von 294 Quadratmillimetern. Der Chip misst 50 mm x 50 mm und verfügt über einen SHARP-Controller, der 128 parallele SHARP-Gruppen gleichzeitig verarbeiten kann. Außerdem ist darin eine SHARP-ALU eingebettet, die logische Operationen an den im SRAM-Speicher gespeicherten Daten ausführen kann, der SHARP-Berechnungen unterstützt. Mit der SHARP ALU kann NVSwitch einen FP400-Rechendurchsatz von 32 GFLOPS erreichen und unterstützt außerdem verschiedene Präzisionsmodi wie FP16, FP32, FP64 und BF16. Der Chip kann entweder mit 400-Gbit/s-Ethernet verbunden werden oder NDR IB Verbindungen über seinen PHY-Schaltkreis, und jeder Käfig kann vier optische NVLink4 OSFP-Module mit FEC-Fähigkeit aufnehmen. Der Chip verfügt über Sicherheitsfunktionen, die eine Partitionierung des NVLink-Netzwerks in Subnetze ermöglichen, sowie über Telemetrieüberwachungsfunktionen ähnlich wie IB. Der NVSwitch3-Chip verfügt über 64 NVLink4-Ports, jeder mit zwei Lanes, die 200 Gbps unidirektionale Bandbreite liefern. Daher kann der Chip insgesamt 64*200 Gbps = 12.8 Tbps unidirektionale Bandbreite oder 3.2 TB/s bidirektionale Bandbreite bieten.

-2x effektive NVlink-Bandbreite

Der NVSwitch3-Chip ist der erste, der die gesamte SHARP-Funktion integriert, die Hardware verwendet, um die Berechnungsergebnisse mehrerer GPU-Einheiten während der gesamten Reduzierung zu aggregieren und zu aktualisieren, wodurch die Anzahl der Netzwerkpakete reduziert und die Rechenleistung verbessert wird.

HC34-NVIDIA-NVSwitch-NVLink-Generations-Server-Any-to-Any

Unter NVLink-Server versteht man einen Server, der die NVLink- und NVSwitch-Technologie nutzt, um GPUs miteinander zu verbinden, normalerweise NVIDIAs eigene Server der DGX-Serie oder OEM-HGX-Server mit ähnlichen Architekturen.

PCIe

Der DGX-1-Server mit P100-GPUs führte NVSwitch nicht ein und alle 8 GPUs waren über NVLink1 verbunden, wobei jeder P100 über 4 NVLink1-Verbindungen verfügte. NVSwitch1 und NVLink2 wurden in der NVIDIA V100-GPU-Architektur eingeführt und bieten eine hohe Bandbreite und eine beliebige Verbindung zwischen mehreren GPUs innerhalb eines Servers. NVSwitch2 und NVLink3 wurden in der NVIDIA A100-GPU eingeführt.

Internes Diagramm des DGX A100-Servers

Im obigen serverinternen Diagramm des DGX A100 erfolgt die Verbindung zwischen GPU und CPU über einen PCIe-Switch, und die Verbindung zwischen 8 GPUs erfolgt hauptsächlich über 6 NVSwitch2-Chips. Jede GPU ist über 2 NVlink12 mit dem NVSwitch3-Chip verbunden, und jeder NVlink3 verfügt über 25 GB unidirektionale Bandbreite, was insgesamt 12 * 25 GB = 300 GB/s unidirektionale Bandbreite oder 600 GB/s bidirektionale Bandbreite für eine GPU bereitstellen kann. Werfen wir einen Blick auf die Parameter des DGX H100-Servers:

DGX H100
  • 8x NVIDIA H100 Tensor Core GPUs mit 640 GB Gesamt-GPU-Speicher
  • 4x NVIDIA NVSwitch-Chips der dritten Generation
  • 18x NVLink-Netzwerk-OSFPs
  • 3.6 TB/s Vollduplex-NVLink-Netzwerkbandbreite bereitgestellt durch 72 NVLinks
  • 8x NVIDIA ConnectX-7 Ethernet/InfiniBand-Ports
  • 2x Dual-Port BlueField-3 DPUs
  • Duale Sapphire Rapids-CPUs
  • Unterstützung für PCIe Gen 5 
H100-GPU
NVlink-Netzwerkunterstützung

Mit der H100-GPU wurden die NVSwitch-Technologie der dritten Generation und die NVLink-Technologie der vierten Generation eingeführt, die eine unidirektionale Bandbreite von 450 GB/s für eine einzelne H100-GPU bereitstellen können. Außerdem wurde ein externer 1U-Box-NVLink-Switch-Switch eingeführt, der Hochgeschwindigkeitskommunikation für mehrere GPU-Server ermöglicht. Es gibt 8 H100-GPUs im DGX H100, und jeder H100 ist gleichzeitig mit 4 NVSwitch3-Chips mit 18 NVLinks (5,4,4,5) verbunden. Der Datenverkehr zwischen GPUs wird auf vier Switching-Ebenen verteilt, wodurch ein All-to-All-Datenverkehr innerhalb der GPU erreicht wird. Jeder interne NVSwitch4-Chip verfügt über ein Konvergenzverhältnis von 3:2 für den externen NVLink, das hauptsächlich darauf ausgelegt ist, die Komplexität und Kosten der Verbindungsbandbreite zwischen Servern zu berücksichtigen.

NVSchalter

Der NVLlink-Switch wurde erst dieses Jahr veröffentlicht und wurde für die Verbindung des H100 Superpod entwickelt. Es verfügt über ein 1U-Design mit 32 OSFP-Ports, jedes OSFP umfasst 8 112G PAM4-Lanes und jeder Switch verfügt über 2 integrierte NVSwitch3-Chips. Jeder NVSwitch3 verfügt über 64 NVLink4s, sodass zwei Chips bis zu 128 NVLink4-Schnittstellen bereitstellen können, was eine unidirektionale Bandbreite von 128 x 400 Gbit/s = 51.2 Tbit/s oder eine bidirektionale Bandbreite von 6.4 TB/s bietet. Der NVLink-Switch unterstützt Out-of-Band-Management-Ports, DAC-Kabel sowie AOC- und OSFP-Kabel mit spezifischer Firmware. Es gibt noch keine öffentlichen Informationen zu diesem OSFP-Modul. Es wird vermutet, dass das Erscheinungsbild der folgenden NDR-OSFP-Form ähnelt. Zwei MPO-Ports verbinden jeweils einen 400G-Port oder verbinden einen 800G-Port direkt mit einem 24-Core MPO-Kabel.

Mit dem physischen NVSwitch-Switch können wir mehrere NVLink-GPU-Server zu einem großen Fabric-Netzwerk verbinden, dem NVLink-Netzwerk. Dieses Netzwerk dient hauptsächlich der Lösung von Hochgeschwindigkeitskommunikationsbandbreiten- und Effizienzproblemen zwischen GPUs und umfasst nicht das Rechennetzwerk und das Speichernetzwerk zwischen CPUs. In der Ära ohne das NVLink-NetzwerkJeder Server weist intern lokalen Adressraum für GPUs zu und kommuniziert dann über NVLink miteinander. Im NVLink-Netzwerk verfügt jeder Server über einen eigenen unabhängigen Adressraum, der zur Datenübertragung, Isolierung und zum Sicherheitsschutz für GPUs im NVLink-Netzwerk dient. Beim Systemstart stellt das NVLink-Netzwerk automatisch Verbindungen über Software-APIs her und kann während des Betriebs jederzeit Adressen ändern.

NVLink-Netzwerk

Die folgende Abbildung vergleicht das NVLink-Netzwerk und das herkömmliche Ethernet-Netzwerk. Es ist ersichtlich, dass durch NVlink, NVSwitch-Chip und NVSwitch-Switch ein NVLink-Netzwerk gebildet werden kann, das unabhängig von IP-Ethernet ist und sich dem GPU-Dienst widmet.

Vergleich

DGX H100 SuperPOD

DGX H100 SuperPOD

Ein SuperPOD besteht aus acht Racks mit jeweils vier DGX H100-Servern, also insgesamt 32 Servern und 256 H100-GPU-Karten, und liefert 1 exaFLOP (eine Trillion) FP8-Präzisions-KI-Leistung mit geringer Dichte. Das NVLink-Netzwerk in diesem SuperPOD kann eine bidirektionale Gesamtbandbreite von insgesamt 57.6 TB/s für 256 GPUs bereitstellen, während der CX7 in den 32 DGX H100-Servern mit dem IB-Switch verbunden werden kann und so eine bidirektionale Bandbreite von 25.6 TB/s bereitstellt , was die Verwendung oder Verbindung mehrerer SuperPODs innerhalb eines PODs ermöglicht.

Superpod-Vernetzung

NVS ist der zuvor erwähnte NVSwitch3-Chip und L2NVS ist der zuvor erwähnte physische NVSwitch-Switch. Jede GPU in einem DGX H100 erweitert 18 NVLink4-Verbindungen nach Norden und bietet eine bidirektionale Bandbreite von 1850 GB = 900 GB/s. Diese 18 NVLink4 sind in vier Gruppen von 5,4,4,5 unterteilt und mit vier integrierten NVSwitch3-Chips verbunden. Auf diese Weise verbindet bei 8 GPUs jeder NVS-Chip 40,32,32,40 NVLink4 nach Süden, also insgesamt 114 NVLink4, und dann führt jeder NVS-Chip eine 2:1-Konvergenz durch und verbindet 4,4,4,4 NVLink4 nach Norden zu den externen 18 L2NVS, den bereits erwähnten NVSwitch 1U-Switches. Diese Schalter sind in vier Gruppen von 5,4,4,5 unterteilt. Somit verbindet ein einzelner integrierter NVS-Chip 20,16,16,20, 4, 72, 4 NVLink114 nach Norden, also insgesamt 4 NVLink2, und 1 NVLlink4 nach Süden, wodurch ein Konvergenzverhältnis von 112:4 entsteht. Hier besteht jeder NVLinkXNUMX aus zwei XNUMXG PAMXNUMX-Lanes, sodass für alle vier NVLink-Links ein Paar erforderlich ist 800G-OSFP Module zur End-to-End-Verbindung. Auf diese Weise zeigt die obere Hälfte der Abbildung ein Hochgeschwindigkeitsnetzwerk mit GPU-All-to-All-Verbindungen, das ein NVlink-Netzwerk bildet.  

NVSwitch3-Chip

Das folgende Video zeigt, wie 800G OSFP SR8 auf NVIDIA Quantum-2-Switches verwendet wird.

Die Verbindung zwischen GPU und CPU erfolgt über den PCIe GEN5-Switch in der CX7-Netzwerkkarte. Die CX7-Netzwerkkarte im DGX H100 besteht nicht wie beim vorherigen DGX A6 aus acht unabhängigen CX100-Netzwerkkarten, sondern besteht aus zwei Platinen mit Netzwerkkartenchips zum Einstecken in den Server. Jeder der vier CX7-Chips bildet ein Cedar-Board und gibt zwei aus 800G-OSFP Häfen. Acht CX7-Netzwerkkartenchips bilden zwei Cedar-Boards und geben insgesamt vier OSFP 800G-Ports aus. Dies bietet eine bidirektionale Bandbreite von 800 Gbit/s4*2=800 GB/s. Die CX7-Netzwerkkarte kann hier RoCE im Ethernet-Modus oder im NDR IB-Netzwerk ausführen. Wie in der Abbildung unten dargestellt, können mit der Fat-Tree-Topologie von NDR IB 1024 GPUs in vier H100 SuperPODs aufgebaut werden.

Jeder DGX H100 verfügt außerdem über zwei Bluefield 3 für den Anschluss an das Speichernetzwerk.

Jeder DGX H100 verfügt außerdem über zwei Bluefield 3 für den Anschluss an das Speichernetzwerk.

Wie viel schneller wird die Verbindung der H100-GPU nach Verwendung des NVLink-Netzwerks im Vergleich zum IB-Netzwerk des A100 sein? Hier ist ein Bandbreitenvergleich zwischen dem DGX A100 256 POD und dem DGX H100 256 POD:

Vergleich zwischen dem DGX A100 256 POD und dem DGX H100 256 POD

Die Halbierung ist ein Leistungsindikator dafür, wie viele Daten jede GPU in einem All-to-All-Szenario gleichzeitig an alle anderen GPUs senden muss. Es berechnet normalerweise die Netzwerkbandbreite, wenn die Hälfte der Knoten im Netzwerk Daten an die andere Hälfte sendet, und misst im Allgemeinen den nicht blockierenden Datenverkehr 1:1. 1 DGX A100 intern: 8/2600 GB/s = 2400 GB/s 32 DGX A100 intern, insgesamt 256 A100-GPUs, jeder Server ist über 8 200-Gbit/s-HDR-Karten verbunden, und der TOR-Switch sollte ein Konvergenzverhältnis von 4:1 haben: 256/ 2/4200 GB/s = 6400 GB/s 1 DGX H100 intern: 8/2900 GB/s = 3600 GB/s 32 DGX H100 intern, das Netzwerkkonvergenzverhältnis beträgt 2:1, also: 256/2/2900 GB/s = 57600 GB/s (Daher stammt die vorherige Erwähnung von 57.6 TB/s.) Die Halbierung eines einzelnen DGX kann die Bandbreite um das 1.5-fache und die bidirektionale Bandbreite um das Dreifache erhöhen, und die Halbierung von 3 DGX kann die Bandbreite um das 32-fache erhöhen die bidirektionale Bandbreite um das 9-fache.

Neuronale Empfehlungsmaschine

Wie in der Abbildung gezeigt, bietet der H14 mit NVLink beim Training eines Empfehlungssystems mit einer 2-TB-Einbettungstabelle, die auf dem all100all-Datenmodell läuft, eine höhere Leistung als der H100 mit IB. Im Folgenden sind die öffentlichen NCCL-Ergebnisse des All-Reduction- und All-to-All-Bandbreitenvergleichs für Multi-GPU- und Multi-Node-GPUs aufgeführt, die auf dem Server ausgeführt werden. Durch die Optimierung von NVLink4 und NVSwitch3 kann der H100 eine konsistente Bandbreite für interne und externe Multikarten erreichen.

Alle verringern die Leistung
Gesamtbandbreite

Fazit

Fazit

NVlink- und NVSwitch-Technologien wurden entwickelt, um die Anforderungen einer schnellen Punkt-zu-Punkt- und Punkt-zu-Mehrpunkt-Kommunikation mit geringer Latenz für Multi-GPUs zu erfüllen. Mit den Änderungen in den GPU-Architekturen entwickeln sie auch ständig Innovationen. Seit der Übernahme von Mellanox hat NVIDIA auch damit begonnen, NVLink-Technologie und IB-Technologie zu kombinieren und eine neue Generation von NVSwitch-Chips und Switches mit SHARP-Funktionen auf den Markt zu bringen, die für externe GPU-Server-Netzwerke optimiert sind. Die aktuelle NVLink-Netzwerkskala, die bis zu 256 GPUs unterstützt, ist nur der Anfang. Man geht davon aus, dass sich dieser NVlink-Netzwerkumfang in Zukunft weiterentwickeln und verbessern wird und möglicherweise ein Supercomputing-Cluster entstehen wird, das für KI-Computing, CPU-Computing, Speicherung und andere Netzwerkintegrationen geeignet ist.

Hinterlasse einen Kommentar

Nach oben scrollen