Qu'est-ce que NVIDIA NVLink

Introduction

Avec le développement rapide de la technologie IA et HPC, l'interconnexion à haut débit et l'évolutivité des GPU ont mis en avant des exigences plus élevées. Une technologie d'interconnexion à large bande passante, à faible latence et hautes performances est essentielle à l'amélioration globale des performances informatiques de l'IA. En avril de cette année, Lao Huang a proposé la troisième génération de NVIDIA NVSwitch et la quatrième génération de technologie NVLink lors de la conférence GTC, qui fournissent une solution d'interconnexion point à point à haut débit pour les nouveaux GPU H100, encore plus rapide que les GPU A100, et ce type de réseau possède le prototype du réseau NVLink.

La puce NVSwitch de troisième génération, appelée NVSwitch3, peut être utilisée pour connecter chaque carte GPU à l'intérieur du serveur et étendre la connexion externe du serveur GPU pour établir un cluster GPU haute vitesse indépendant et complet. Dans le même temps, la puce NVSwitch prend en charge l'accélération des messages multidiffusion via des pédales d'accélérateur matérielles et introduit SHARP (Scalable Hierarchical Aggregation and Reduction Protocol), qui est une fonctionnalité importante uniquement disponible dans les commutateurs IB auparavant et est principalement utilisée pour accélérer et optimiser le All- Réduisez le calcul de l’IA. -Réduire les performances informatiques de l'IA. Pendant ce temps, grâce à la puce NVSwitch de troisième génération composée de commutateurs physiques, il est possible de créer un cluster comprenant jusqu'à 256 cartes GPU H100, et l'ensemble du réseau fournit 57.6 To/s de bande passante totale. La spécification NVLink 4.0 qu'il adopte peut considérablement optimiser les performances et l'évolutivité du GPU, par exemple la structure de blocs de processus parallèles de l'architecture GPU fait écho à la structure parallèle de NVLink, tandis que l'interface de NVLink est encore optimisée pour l'échange de données dans le cache GPU L2.

Puce NVSwitch
NVLink

NVLink est un protocole pour résoudre la communication point à point entre les GPU au sein du serveur, le taux de commutation PCIe traditionnel est le suivant, le dernier PCIE5.0 n'a qu'une bande passante de 32 Gbit/s par voie, ce qui ne satisfait fondamentalement pas aux exigences de bande passante de communication entre Les GPU, et avec la technologie NVLink, les GPU peuvent être directement internes au serveur. Grâce à la technologie NVLink, les GPU peuvent s'interconnecter directement les uns aux autres au sein du serveur à des vitesses élevées, sans avoir besoin de communiquer via des commutateurs PCIe. Le NVLink de quatrième génération a une bande passante de 112 Gbit/s par voie, soit trois fois plus élevée que la bande passante d'une voie PCIe Gen5.

Performances du lien PCI Express

L'objectif principal de NVLink est de fournir un réseau point à point à haut débit pour Interconnexions GPU sans les frais liés à la retransmission des messages de bout en bout, au routage adaptatif et au réassemblage des messages par rapport aux réseaux traditionnels. L'interface NVLink extrêmement simplifiée fournit une accélération CUDA de la couche session à la couche de représentation, en passant par la couche application, réduisant ainsi davantage la surcharge du réseau due à la communication.

HC34-NVIDIA-NVSwitch-NVLink-Générations
Bande passante NVlink par GPU

Comme le montre la figure, nous pouvons voir que NVLink a évolué avec l'architecture GPU, du NVLink1 de première génération pour le P100 au NVLink4 actuel pour le H100. NVLink3 prend en charge à la fois 50G NRZ et 56G PAM4, tandis que NVLink4 introduit pour la première fois des Serdes 112G PAM4, qui peuvent fournir 900 Go/s de bande passante bidirectionnelle, soit une augmentation de 1.5 fois par rapport aux 3 Go/s de la génération précédente du NVLink600. Alors, comment calcule-t-on 900 Go/s ? Chaque GPU H100 est connecté à une puce NVSwitch3 interne via 18 liaisons NVLink4, et chaque liaison NVLink4 est en fait composée de deux voies, chaque voie est de 112G PAM4, donc une seule liaison NVLink4 a une bande passante unidirectionnelle de 224 Gbit/s, ou 25 Go/s (notez qu'ici il passe de bits à octets), une bande passante unidirectionnelle, une bande passante bidirectionnelle de 50 Go/s et 18 liens NVLink4 ont un total de bande passante bidirectionnelle de 900 Go/s.

Commutateur NV Puce

Puce NVSwitch trois générations

Une puce NVSwitch est un type de commutateur ASIC qui peut relier plusieurs GPU avec des interfaces NVLink haute vitesse, améliorant ainsi la communication et la bande passante entre les GPU au sein d'un serveur. Lorsque le P100 utilisait NVLink1, il n'y avait pas de puce NVSwitch et les GPU formaient une connexion en anneau, ce qui empêchait la communication directe entre les GPU sur différents nœuds NUMA. À partir du V100 avec NVLink2, une puce NVSwitch1 a été ajoutée, puis A100 avec NVLink3 a utilisé la puce NVSwitch2. La suivante est la puce NVSwith3 pour H100.

nvlink-4-nvswitch
NVlink plus pointu

La puce est fabriquée selon le processus 4N de TSMC et contient 25.1 milliards de transistors sur une puce de 294 millimètres carrés. La puce mesure 50 mm sur 50 mm et dispose d'un contrôleur SHARP capable de gérer 128 groupes parallèles SHARP simultanément. Il intègre également un SHARP ALU, qui peut effectuer des opérations logiques sur les données stockées dans la mémoire SRAM qui prend en charge le calcul SHARP. Le SHARP ALU permet à NVSwitch d'atteindre 400 GFLOPS de débit de calcul FP32 et prend également en charge divers modes de précision tels que FP16, FP32, FP64 et BF16. La puce peut s'interfacer avec Ethernet 400 Gbit/s ou NDR IB connexions via son circuit PHY, et chaque cage peut accueillir quatre modules optiques NVLink4 OSFP avec capacité FEC. La puce possède des fonctionnalités de sécurité qui permettent de partitionner le réseau NVLink en sous-réseaux, ainsi que des fonctions de surveillance télémétrique similaires à celles d'IB. La puce NVSwitch3 dispose de 64 ports NVLink4, chacun doté de deux voies qui fournissent 200 Gbit/s de bande passante unidirectionnelle. La puce peut donc offSoit un total de 64*200 Gbit/s = 12.8 Tbit/s de bande passante unidirectionnelle ou 3.2 To/s de bande passante bidirectionnelle.

-2x bande passante NVlink efficace

La puce NVSwitch3 est la première à intégrer l'intégralité de la fonction SHARP, qui utilise du matériel pour regrouper et mettre à jour les résultats de calcul de plusieurs unités GPU pendant toute la réduction, réduisant ainsi le nombre de paquets réseau et améliorant les performances de calcul.

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

Le serveur NVLink fait référence à un serveur qui utilise la technologie NVLink et NVSwitch pour interconnecter les GPU, généralement les serveurs de la série DGX de NVIDIA ou les serveurs OEM HGX avec des architectures similaires.

PCIe

Le serveur DGX-1 avec les GPU P100 n'a pas introduit NVSwitch et les 8 GPU étaient connectés par NVLink1, chaque P100 ayant 4 connexions NVLink1. Les NVSwitch1 et NVLink2 ont été introduits dans l'architecture GPU NVIDIA V100, offrant une bande passante élevée et une connexion de tout type entre plusieurs GPU au sein d'un serveur. Les NVSwitch2 et NVLink3 ont été lancés dans le GPU NVIDIA A100.

Schéma interne du serveur DGX A100

Dans le schéma interne du serveur DGX A100 ci-dessus, la connexion entre le GPU et le CPU se fait via un commutateur PCIe, et la connexion entre 8 GPU se fait principalement via 6 puces NVSwitch2. Chaque GPU se connecte à la puce NVSwitch2 avec 12 NVlink3, et chaque NVlink3 dispose d'une bande passante unidirectionnelle de 25 Go, ce qui peut fournir un total de 12*25 Go = 300 Go/s de bande passante unidirectionnelle ou 600 Go/s de bande passante bidirectionnelle pour un GPU. Jetons un coup d'œil aux paramètres du serveur DGX H100 :

DGX H100
  • 8 GPU NVIDIA H100 Tensor Core avec 640 Go de mémoire GPU globale
  • 4x puces NVIDIA NVSwitch de troisième génération
  • 18x OSFP réseau NVLink
  • 3.6 To/s de bande passante réseau NVLink full-duplex fournie par 72 NVLinks
  • 8 ports Ethernet/InfiniBand NVIDIA ConnectX-7
  • 2x DPU BlueField-3 à double port
  • Deux processeurs Sapphire Rapids
  • Prise en charge de PCIe Gen 5 
GPU H100
Prise en charge du réseau NVlink

Le GPU H100 a introduit la technologie NVSwitch de troisième génération et NVLink de quatrième génération, qui peuvent fournir une bande passante unidirectionnelle de 450 Go/s pour un seul GPU H100. Il a également introduit un commutateur NVLink externe de type boîtier 1U, qui fournit une communication à haut débit pour plusieurs serveurs GPU. Il y a 8 GPU H100 dans le DGX H100, et chaque H100 est connecté à 4 puces NVSwitch3 avec 18 NVLinks (5,4,4,5) en même temps. Le trafic entre les GPU est réparti sur 4 plans de commutation, permettant ainsi d'obtenir un trafic tout-à-tout au sein du GPU. Chaque puce NVSwitch3 interne a un taux de convergence de 2:1 pour le NVLink externe, principalement conçu pour prendre en compte la complexité et le coût de la bande passante de connexion inter-serveurs.

Commutateur NV

Le switch NVLlink vient de sortir cette année et est né pour l'interconnexion du H100 Superpod. Il adopte une conception de taille 1U avec 32 ports OSFP, chaque OSFP comprend 8 voies PAM112 4G et chaque commutateur dispose de 2 puces NVSwitch3 intégrées. Chaque NVSwitch3 dispose de 64 NVLink4, donc deux puces peuvent fournir jusqu'à 128 interfaces NVLink4, fournissant une bande passante unidirectionnelle de 128*400 Gbit/s = 51.2 To/s ou une bande passante bidirectionnelle de 6.4 To/s. Le commutateur NVLink prend en charge les ports de gestion hors bande, les câbles DAC et les câbles AOC et OSFP avec un micrologiciel spécifique. Il n’y a pas encore d’informations publiques sur ce module OSFP. On suppose que l’apparence est similaire à la forme NDR OSFP ci-dessous. Deux ports MPO connectent chacun un 400G ou connectent directement un port 800G à un 24 cœurs Câble MPO.

Avec le commutateur physique NVSwitch, nous pouvons connecter plusieurs serveurs GPU NVLink à un grand réseau Fabric, qui est le réseau NVLink. Ce réseau est principalement conçu pour résoudre les problèmes de bande passante de communication à haut débit et d'efficacité entre les GPU et n'inclut pas le réseau de calcul et le réseau de stockage entre les CPU. À l'époque sans Réseau NVLink, chaque serveur alloue un espace d'adressage local aux GPU en interne, puis communique entre eux via NVLink. Dans le réseau NVLink, chaque serveur possède son propre espace d'adressage indépendant, qui est utilisé pour assurer la transmission des données, l'isolation et la protection de sécurité des GPU du réseau NVLink. Lorsque le système démarre, le réseau NVLink établit automatiquement des connexions via des API logicielles et peut changer d'adresse à tout moment pendant le fonctionnement.

Réseau NVLink

La figure suivante compare le réseau NVLink et le réseau Ethernet traditionnel. On peut voir que grâce à NVlink, à la puce NVSwitch et au commutateur NVSwitch, un réseau NVLink indépendant d'IP Ethernet et dédié au service GPU peut être formé.

Comparaison

DGX H100 SuperPOD

DGX H100 SuperPOD

Un SuperPOD se compose de huit racks, chacun avec quatre serveurs DGX H100, pour un total de 32 serveurs et 256 cartes GPU H100, offrant 1 exaFLOP (un quintillion) de performances d'IA clairsemées de précision FP8. Le réseau NVLink au sein de ce SuperPOD peut fournir un total de 57.6 To/s de bande passante bidirectionnelle totale pour 256 GPU, tandis que le CX7 à l'intérieur des 32 serveurs DGX H100 peut s'interconnecter avec le commutateur IB, fournissant 25.6 To/s de bande passante bidirectionnelle. , qui permet d'utiliser ou de connecter plusieurs SuperPOD au sein d'un POD.

Mise en réseau des superpodes

NVS est la puce NVSwitch3 mentionnée précédemment et L2NVS est le commutateur physique NVSwitch mentionné précédemment. Chaque GPU d'un DGX H100 étend 18 connexions NVLink4 vers le nord, fournissant une bande passante bidirectionnelle de 1850 900 Go = 18 Go/s. Ces 4 NVLink5,4,4,5 sont divisés en quatre groupes de 3 et connectés à quatre puces NVSwitch8 embarquées. De cette façon, pour 40,32,32,40 GPU, chaque puce NVS connecte 4 NVLink114 vers le sud, pour un total de 4 NVLink2, puis chaque puce NVS effectue une convergence 1:4,4,4,4, connectant 4 NVLink18. vers le nord jusqu'aux 2 L1NVS externes, qui sont les commutateurs NVSwitch 5,4,4,5U que nous avons mentionnés plus tôt. Ces commutateurs sont divisés en quatre groupes de 20,16,16,20. Ainsi, une seule puce NVS intégrée connecte 4 NVLink72 vers le nord, pour un total de 4 NVLink114, et 4 NVLlink2 vers le sud, formant un rapport de convergence de 1:4. Ici, chaque NVLink112 se compose de deux voies PAM4 XNUMXG, donc toutes les quatre liaisons NVLink nécessitent une paire de OSFP 800G modules pour se connecter de bout en bout. De cette façon, la moitié supérieure de la figure montre un réseau à haut débit d’interconnexion GPU tout-à-tout qui forme un réseau NVlink.  

Puce NVSwitch3

La vidéo ci-dessous montre comment utiliser 800G OSFP SR8 sur les commutateurs NVIDIA Quantum-2.

L'interconnexion entre le GPU et le CPU se fait via le commutateur PCIe GEN5 à l'intérieur de la carte réseau CX7. La carte réseau CX7 à l'intérieur du DGX H100 ne se présente pas sous la forme de huit cartes réseau CX6 indépendantes comme dans le précédent DGX A100 mais est constituée de deux cartes avec des puces de carte réseau à brancher sur le serveur. Chacune des quatre puces CX7 forme une carte Cedar et produit deux OSFP 800G ports. Huit puces de carte réseau CX7 forment deux cartes Cedar et génèrent un total de quatre ports OSFP 800G. Cela fournit une bande passante bidirectionnelle de 800 Gbit/s4*2 = 800 Go/s. La carte réseau CX7 peut ici exécuter RoCE en mode Ethernet ou fonctionner dans le réseau NDR IB. Comme le montre la figure ci-dessous, 1024 100 GPU dans quatre SuperPOD HXNUMX peuvent être construits avec la topologie Fat Tree de NDR IB.

Chaque DGX H100 dispose également de deux Bluefield 3 pour se connecter au réseau de stockage.

Chaque DGX H100 dispose également de deux Bluefield 3 pour se connecter au réseau de stockage.

Dans quelle mesure la connexion du GPU H100 sera-t-elle plus rapide après avoir utilisé le réseau NVLink, par rapport au réseau IB de l'A100 ? Voici une comparaison de bande passante entre le DGX A100 256 POD et le DGX H100 256 POD :

comparaison entre le DGX A100 256 POD et le DGX H100 256 POD

La bissection est un indicateur de performances indiquant la quantité de données que chaque GPU doit envoyer simultanément à tous les autres GPU dans un scénario tout-à-tout. Il calcule généralement la bande passante du réseau lorsque la moitié des nœuds du réseau envoient des données à l'autre moitié, et mesure généralement le trafic non bloquant 1:1. 1 DGX A100 interne : 8/2600GB/s=2400GB/s 32 DGX A100 internes, un total de 256 GPU A100, chaque serveur connecté par 8 cartes HDR 200Gbps, et le switch TOR doit avoir un taux de convergence de 4:1 : 256/ 2/4200 Go/s=6400 Go/s 1 DGX H100 interne : 8/2900 Go/s=3600 Go/s 32 DGX H100 interne, le taux de convergence du réseau est de 2:1, donc : 256/2/2900 Go/s=57600 Go/s (d'où vient la mention précédente de 57.6 To/s) La Bisection d'un seul DGX peut augmenter la bande passante de 1.5 fois et la bande passante bidirectionnelle de 3 fois, et la Bisection de 32 DGX peut augmenter la bande passante de 9 fois et la bande passante bidirectionnelle de 4.5 fois.

moteur de recommandation neuronale

Comme le montre la figure, pour former un système de recommandation avec une table d'intégration de 14 To fonctionnant sur le modèle de données all2all, le H100 avec NVLink offre des performances supérieures à celles du H100 avec IB. Voici les résultats publics NCCL de la comparaison de bande passante de réduction totale et de tout-à-tout pour les GPU multi-GPU et multi-nœuds exécutés sur le serveur. En optimisant NVLink4 et NVSwitch3, le H100 peut atteindre une bande passante constante pour les multi-cartes internes et externes.

tous réduisent les performances
bande passante totale

Conclusion

Conclusion

Les technologies NVlink et NVSwitch sont développées pour répondre aux besoins de communication point à point et point à multipoint à haut débit et à faible latence pour les multi-GPU. Ils innovent également constamment avec les évolutions des architectures GPU. Depuis l'acquisition de Mellanox, NVIDIA a également commencé à combiner la technologie NVLink et la technologie IB, en lançant une nouvelle génération de puces et de commutateurs NVSwitch dotés de fonctions SHARP, optimisées pour les réseaux externes de serveurs GPU. L'échelle actuelle du réseau NVLink, qui prend en charge jusqu'à 256 GPU, n'est qu'un début. On pense que cette échelle de réseau NVlink se développera et s'améliorera davantage à l'avenir, et créera peut-être un cluster de supercalcul adapté à l'informatique IA, au calcul CPU, au stockage et à d'autres intégrations réseau.

Laisser un commentaire

Remonter en haut