NVLink est un protocole de communication série multi-voies filaire à courte portée développé par Nvidia. Contrairement à PCI Express, un périphérique peut être constitué de plusieurs NVLinks, et les périphériques utilisent un réseau maillé pour communiquer au lieu d’un hub central. Le protocole a été annoncé pour la première fois en mars 2014 et utilise une interconnexion de signalisation à haut débit (NVHS) propriétaire[1].

Principe

modifier

NVLink est un protocole de communication filaire pour les communications à courte portée entre composants semi-conducteurs développé par Nvidia qui peut être utilisé pour les transferts de données et de code de contrôle dans les systèmes de processeur entre CPU et GPU ou entre GPU uniquement. NVLink spécifie une connexion point à point avec des débits de données de 20, 25 et 50 Gbit/s (v1.0/v2.0/v3.0+ respectivement) par paire différentielle. Pour NVLink 1.0 et 2.0, huit paires différentielles forment une « sous-liaison » et deux « sous-liaisons » - une pour chaque direction - forment une « liaison ». À partir de NVlink 3.0, seules quatre paires différentielles forment une « sous-liaison ». Pour NVLink 2.0 et versions ultérieures, le débit de données total d’une sous-liaison est de 25 Go/s et le débit de données total d’une liaison est de 50 Go/s. Chaque GPU V100 prend en charge jusqu’à six liaisons. Ainsi, chaque GPU V100 est capable de prendre en charge jusqu’à 300 Go/s de bande passante bidirectionnelle totale[2],[3]. Les produits NVLink introduits à ce jour se concentrent sur le domaine des applications hautes performances. Annoncé le 14 mai 2020, NVLink 3.0 augmente le débit de données par paire différentielle de 25 Gbit/s à 50 Gbit/s tout en réduisant de moitié le nombre de paires par NVLink, passant de 8 à 4. Avec 12 liaisons pour un GPU A100 basé sur Ampere, cela porte la bande passante totale à 600 Go/s[4]. Hopper dispose de 18 liaisons NVLink 4.0 permettant une bande passante totale de 900 Go/s[5]. Ainsi, NVLink 2.0, 3.0 et 4.0 ont tous une liaison bidirectionnelle à 50 Go/s, et ont respectivement 6, 12 et 18 liaisons.

Performances

modifier

Le tableau suivant présente une comparaison des performances sur la base des spécifications des normes :

Interconnexion Taux de transfert Codage en ligne Débit effectif
par ligne
et par direction
Longueur totale max de ligne
(PCIe : comprenant 5" pour les PCB)
Exemple d'utilisation
PCIe 1.x 2.5 GT/s 8b/10b ~0,25 Go/s 20" = ~50 cm
PCIe 2.x 5 GT/s 8b/10b ~0,5 Go/s 20" = ~50 cm
PCIe 3.x 8 GT/s 128b/130b ~1 Go/s 20" = ~50 cm[6] Pascal,
Volta,
Turing
PCIe 4.0 16 GT/s 128b/130b ~2 Go/s 8−12" = ~20−30 cm[6] Volta sur Xavier
(8x, 4x, 1x),
Ampere,
POWER9
PCIe 5.0 32 GT/s[7] 128b/130b ~4 Go/s Hopper
PCIe 6.0 64 GT/s 1b/1b ~8 Go/s Blackwell
NVLink 1.0 20 Gbit/s ~2,5 Go/s Pascal,
POWER8+
NVLink 2.0 25 Gbit/s ~3,125 Go/s Volta,
NVSwitch pour Volta
POWER9
NVLink 3.0 50 Gbit/s ~6,25 Go/s Ampere,
NVSwitch pour Ampere
NVLink 4.0
(également C2C,
chip-to-chip)
100 Gbit/s [8] ~6,25 Go/s Hopper,
CPU Nvidia Grace pour centre de données/serveur
NVSwitch pour Hopper
NVLink 5.0
(également C2C,
chip-to-chip)
200 Gbit/s Blackwell,
CPU Nvidia Grace pour centre de données/serveur
NVSwitch pour Blackwell

Références

modifier
  1. (en) Jon Worrel, « Nvidia NVLINK 2.0 arrives in IBM servers next year », sur fudzilla.com,
  2. (en-US) « NVIDIA DGX-1 With Tesla V100 System Architecture » [PDF], Nvidia
  3. (en-US) « What Is NVLink? », Nvidia,
  4. (en-US) Ryan Smith, « NVIDIA Ampere Unleashed: NVIDIA Announces New GPU Architecture, A100 GPU, and Accelerator », AnandTech,
  5. (en-GB) Blair Jacobs, « Nvidia reveals next-gen Hopper GPU architecture », sur Club386, (consulté le )
  6. a et b (en) « PCIe - PCI Express (1.1 / 2.0 / 3.0 / 4.0 / 5.0) », sur www.elektronik-kompendium.de
  7. (en) Paul Alcorn 17 January 2019, « PCIe 5.0 Is Ready For Prime Time », sur Tom's Hardware,
  8. (en) « NVLink-Network Switch - NVIDIA's Switch Chip for High Communication-Bandwidth SuperPODs », sur HotChips 34,