Serveurs GPU NVIDIA AI : PCIe contre SXM

La technologie d'interconnexion GPU de Nvidia comporte deux principaux types d'emplacements mémoire : PCIe et SXM. Ces deux interfaces ont des fonctions et des performances différentes.

L'interface PCIe est un protocole général largement utilisé. Bien qu'il dispose de fonctions complètes, sa vitesse de transmission est relativement lente pour l'interconnexion GPU. Néanmoins, les cartes GPU d'interface PCIe peuvent toujours communiquer avec le CPU et d'autres cartes GPU du serveur via les emplacements PCIe. En outre, ils peuvent également échanger des données avec des appareils sur des nœuds de serveur externes via des cartes réseau. Si les utilisateurs souhaitent améliorer la vitesse de transmission des cartes GPU PCIe, ils peuvent utiliser le pont NVLink pour obtenir une communication rapide entre le GPU et le CPU. Cependant, il convient de noter que cette méthode ne prend généralement en charge que la connexion entre deux cartes GPU. C'est-à-dire que les cartes GPU PCIe doivent généralement apparaître par paires, connectées par NVLink Bridge et transmettre les données via le canal PCIe. Il convient de noter que la dernière norme PCIe a une limite de 128 Go/s en bande passante réseau.

En revanche, l'interface SXM est conçue spécifiquement pour les hautes performances Interconnexion GPU. Il utilise un protocole dédié disposé sur le circuit imprimé, qui permet à SXM de offUne vitesse de transmission plus élevée et une meilleure prise en charge native de NVLink que PCIe en termes de connexion inter-cartes. Sa bande passante mémoire est également supérieure à PCIe. L'architecture SXM est particulièrement adaptée à la connexion de GPU aux systèmes propriétaires DGX et HGX de NVIDIA. Dans ces systèmes, les GPU basés sur SXM sont connectés via NVSwitch intégré à la carte mère, sans dépendre du PCIe pour la communication. Cette conception permet à SXM de prendre en charge jusqu'à 8 GPU interconnectés, atteignant une bande passante très élevée. Par exemple, les A100 et H100 non coupés peuvent atteindre respectivement 600 Go/s et 900 Go/s de bande passante, tandis que les A800 et H800 légèrement coupés peuvent atteindre 400 Go/s de bande passante.

GPU PCIe vers GPU

Les utilisateurs doivent généralement peser le pour et le contre des GPU basés sur PCIe ou SXM en fonction de leurs scénarios d'application spécifiques et de leurs exigences de performances.

Présentation du PCIe (PCI Express)

PCIe, abréviation de PCI Express, est une norme avancée de bus d'extension informatique, dont l'objectif principal est d'améliorer le débit de données et la vitesse de communication entre les appareils. En tant que bus de connexion full-duplex, le taux de transfert de données du PCIe dépend de son nombre de voies. Chaque voie se compose de deux paires de lignes de données (une pour l'envoi, une pour la réception) et chaque paire de lignes de données contient deux lignes différentielles. Par exemple, X1 signifie une voie et quatre lignes de données, qui peuvent transférer des données de 1 bit par direction et par cycle d'horloge ; tandis que X2 signifie deux voies et huit lignes de données, qui peuvent transférer des données de 2 bits par cycle. De même, il existe également X12, X16, X32 et d'autres configurations.

PCI express

Depuis la sortie du PCIe 1.0 en 2003, son taux de transmission n'a cessé d'augmenter. PCIe 1.0 prend en charge un taux de transmission de 250 Mo/s par canal, avec un taux de transmission total de 2.5 GT/s. En 2007, la spécification PCIe 2.0 a doublé le débit de transmission total à 5 ​​GT/s, et le débit de transmission par canal a également augmenté à 500 Mo/s. D'ici 2022, la spécification PCIe 6.0 a encore augmenté le taux de transmission total à 64 GT/s. En juin de la même année, l'alliance PCI-SIG a annoncé la spécification PCIe 7.0, qui devrait atteindre un taux de transmission unidirectionnel monocanal (x1) de 128 GT/s dans la version finale qui sera publiée en 2025.    

Bande passante PCIe

Calcul du débit PCIe

Lors du calcul du débit PCIe (ou de la bande passante disponible), deux facteurs doivent être pris en compte : le taux de transmission et le schéma de codage. Le taux de transmission est généralement exprimé en GT/s (Giga Transitions par seconde), qui décrit l'attribut de vitesse du protocole de communication de la couche physique, plutôt que le nombre de bits transmis par seconde (Gbps). En effet, le débit de transmission inclut des bits de surcharge qui ne fournissent pas de débit supplémentaire. Par exemple, PCIe 1.x et PCIe 2.x utilisent le schéma de codage 8b/10b, ce qui signifie que 20 % de la bande passante du canal d'origine est utilisée pour la surcharge.

Par conséquent, bien que le protocole PCIe 2.0 prenne en charge un taux de transmission de 5.0 GT/s, en raison de l'utilisation de la solution d'encodage 8b/10b, le débit effectif réel de chaque voie est de 5*8/10=4 Gbit/s, soit 500 Mo/s. s. De même, le protocole PCIe 3.0 prend en charge un taux de transmission de 8.0 GT/s, mais après avoir utilisé le schéma de codage 128b/130b, le débit effectif réel de chaque voie est d'environ 7.877 Gbit/s, soit 984.6 Mo/s.

L'architecture PCIe se compose de périphériques PCIe de différents types, tels que Root Complex (RC), Switch et Endpoint (EP). Parmi eux, RC est le seul de l'architecture de bus, responsable de la connexion des sous-systèmes de processeur et de mémoire avec les périphériques d'E/S. La fonction du commutateur est généralement implémentée par un logiciel, contenant au moins deux ponts logiques PCI-PCI (pont PCI-PCI) pour garantir la compatibilité avec les périphériques PCI existants. Cette architecture offre un support solide pour le calcul et la communication hautes performances.

point final

À mesure que la puissance de calcul continue d’augmenter, les cartes multi-GPU deviennent la clé de l’amélioration des performances. Cependant, le bus PCIe traditionnel est susceptible de constituer un goulot d'étranglement en termes de taux de transfert de données et de latence, limitant l'efficacité et les performances du calcul parallèle GPU.

Pour résoudre ce problème, NVIDIA a introduit la technologie GPUDirect P2P, qui permet aux GPU d'accéder directement à la mémoire d'autres GPU via PCI Express, réduisant ainsi la latence de l'échange de données. Mais même ainsi, en raison des limitations du protocole de bus PCI Express et de la topologie, il ne peut toujours pas répondre aux exigences de bande passante plus élevées. Pour cette raison, NVIDIA a lancé la technologie d'interconnexion haut débit NVLink. NVLink vise à accélérer le transfert de données entre CPU et GPU, et GPU et GPU, en fournissant une solution d'interconnexion plus efficace et à faible latence. Depuis sa première version en 2014, NVLink a été continuellement mis à niveau et la bande passante a augmenté. Des 100 Go/s du P160 aux 100 Go/s du V300, puis aux 100 Go/s du A600, la bande passante de NVLink a augmenté, offrant ainsi une prise en charge solide pour le calcul haute performance.

L'interconnexion haut débit NVLink a deux méthodes de mise en œuvre principales : l'une via un pont et l'autre consiste à intégrer l'interface NVLink sur la carte mère. Les deux méthodes peuvent réaliser une interconnexion à haut débit entre les GPU et améliorer les performances du système.

nvidia nvswitch

NVSwitch : communication multi-GPU fluide et à large bande passante

Pour résoudre le problème de communication déséquilibrée entre les GPU, NVIDIA a introduit la puce NVSwitch. NVSwitch est une puce physique (ASIC) similaire à un commutateur, qui peut connecter plusieurs GPU à grande vitesse via l'interface NVLink. Il peut créer un cluster GPU multi-nœuds transparent à large bande passante, permettant à tous les GPU de fonctionner ensemble dans un cluster avec une connectivité à pleine bande passante, améliorant ainsi l'efficacité de la communication et la bande passante entre plusieurs GPU au sein du serveur.

La combinaison de NVLink et NVSwitch permet à NVIDIA d'adapter efficacement les performances de l'IA à plusieurs GPU, offrant ainsi une prise en charge puissante pour les applications de calcul haute performance et d'intelligence artificielle. Depuis la sortie de la première génération de NVSwitch en 2018, NVSwitch a évolué vers la troisième génération. La troisième génération de NVSwitch est construite avec le processus 4N de TSMC et chaque puce dispose de 64 ports NVLink 4.0, avec un taux de communication allant jusqu'à 900 Go/s entre les GPU. Cette technologie innovante offre un espace de développement plus large pour les futures applications de calcul haute performance et d’intelligence artificielle.

performances nvlink

Laisser un commentaire

Remonter en haut