Le serveur HGX H200 : huit GPU dans une machine
Un serveur HGX H200 de 8U, capot retiré, organisé comme le modèle de référence de NVIDIA (le DGX H200) : en haut le plateau GPU avec ses huit H200, ses quatre NVSwitch (points lumineux : les échanges NVLink) et son fond de panier ; en dessous le plateau carte mère, sorti par l'arrière pour le montrer ; tout en bas les alimentations ; à l'avant les ventilateurs et les SSD. Le GPU 1 sort de son emplacement : déplacez le curseur pour le remettre en place, puis cliquez sur « Module » pour l'ouvrir.
Un GPU de data center n'est pas une carte graphique
Le H200 SXM n'a ni ventilateur, ni sortie vidéo, ni connecteur PCIe classique : c'est un module « mezzanine » qui se visse sur une carte HGX à 8 GPU et qui est refroidi par le serveur. Sélectionnez un composant pour voir à quoi il sert.
La puce GH100 vue de dessus
814 mm² de silicium : 8 blocs de calcul (GPC) autour du cache L2, les contrôleurs mémoire HBM sur les côtés, NVLink en haut, PCIe en bas. Cliquez sur une zone.
Un multiprocesseur (SM) sur les 132
Quatre blocs identiques, chacun avec ses cœurs CUDA, son Tensor Core et ses registres, autour d'une mémoire partagée de 256 Ko. Cliquez sur un bloc.
Un Tensor Core multiplie des matrices
D = A × B + C en une instruction : chaque ligne de A rencontre chaque colonne de B, et le résultat s'accumule dans D. C'est l'opération de base d'un réseau de neurones.
Le GPU que nous sortons
NVIDIA H200 SXM5 · 141 Go · 700 W
Un des huit modules H200, avec son dissipateur à capot doré. Il ne s'enfiche pas dans un port PCIe et n'a aucun câble : il se pose à plat sur la carte HGX, sur deux connecteurs mezzanine qui lui apportent courant et données, et son dissipateur le plaque en place. Le curseur le sort de son emplacement ; cliquez sur « Module » pour l'ouvrir couche par couche.
Les sept autres GPU
8 × H200 · 1,1 To de HBM3e
Huit modules identiques en deux rangées de quatre, dans l'axe du flux d'air : chacun sous un grand dissipateur à ailettes que l'air des ventilateurs traverse de l'avant vers l'arrière. Ensemble : 1,1 To de mémoire HBM3e et environ 32 PFLOPS en FP8 (avec parcimonie). Le logiciel voit huit GPU qui peuvent se partager un même modèle.
Carte HGX H200 et fond de panier
La carte des huit GPU
Une grande carte conçue par NVIDIA et fournie aux fabricants de serveurs (Supermicro, Dell, HPE, Gigabyte…) : elle porte les huit emplacements SXM5, les quatre NVSwitch et l'alimentation des GPU. À l'arrière du plateau, un fond de panier (midplane) la relie au reste du serveur : alimentation, liaisons PCIe 5.0 vers les processeurs, capteurs et signaux. Même format que la carte HGX H100 : un châssis prévu pour le H100 accueille le H200.
NVSwitch et NVLink
4 puces · 900 Go/s par GPU
Quatre puces NVSwitch, placées juste derrière les ventilateurs pour recevoir l'air frais en premier, relient chaque GPU à tous les autres en NVLink : 900 Go/s par GPU (7,2 To/s pour les huit), environ sept fois le débit d'un lien PCIe 5.0. C'est ce qui permet de répartir un grand modèle sur les huit GPU comme s'ils n'en formaient qu'un. Les points lumineux figurent ces échanges.
Plateau carte mère et processeurs
2 × Intel Xeon ou AMD EPYC
Sous le plateau GPU, un tiroir de 2U qui sort par l'arrière (nous l'avons tiré pour le montrer). Il porte la carte mère et ses deux processeurs : ils font tourner le système, chargent les données et distribuent le travail aux GPU par PCIe 5.0. Ils ne font presque aucun calcul d'IA eux-mêmes : leur rôle est de nourrir les GPU sans les faire attendre.
Mémoire vive
32 barrettes DDR5 · 2 To sur un DGX H200
La mémoire des processeurs, distincte de la HBM des GPU : elle sert au système, au chargement des modèles et à la préparation des données. Seize barrettes autour de chaque processeur, 32 en tout : 2 To sur le DGX H200, jusqu'à 4 To ou plus chez d'autres constructeurs.
Cartes réseau
8 × ConnectX-7 · 400 Gb/s · une par GPU
Pour entraîner un modèle sur plusieurs serveurs, chaque GPU a sa propre carte réseau NVIDIA ConnectX-7 à 400 Gb/s, en InfiniBand ou en Ethernet. Sur le DGX H200, elles sont regroupées en deux modules de quatre et sortent sur quatre ports OSFP à l'arrière ; deux cartes de plus servent au stockage. Les GPU de deux serveurs échangent ainsi leurs données directement, sans passer par les processeurs (GPUDirect RDMA).
Alimentations
6 × 3 à 3,3 kW · redondantes
En bas à l'arrière, six blocs d'alimentation de 3 à 3,3 kW, remplaçables à chaud et montés en redondance : la panne d'un bloc n'arrête pas le serveur. Il en faut autant parce qu'un serveur HGX H200 complet consomme plus de 10 kW à pleine charge, dont 5,6 kW pour les seuls GPU.
Ventilateurs
12 modules doubles à l'avant (DGX)
Presque toute la face avant est un mur de ventilateurs : douze modules doubles remplaçables à chaud sur le DGX H200, une dizaine chez d'autres constructeurs. Ils aspirent l'air froid à l'avant, le poussent à travers les NVSwitch, les GPU et le plateau carte mère, et le rejettent par la grille arrière. Ils consomment à eux seuls plusieurs centaines de watts : c'est pourquoi les grandes installations passent au refroidissement liquide.
SSD NVMe
8 × U.2 à l'avant (DGX)
Sous les ventilateurs, des SSD NVMe U.2 remplaçables à chaud servent de cache rapide pour les jeux de données : huit de 3,84 To sur le DGX H200, jusqu'à seize chez certains constructeurs. Le système démarre sur deux SSD M.2 en miroir, à l'intérieur. Au centre, une petite console (USB, VGA) pour l'intervention sur place.
Châssis
8U · baie 19 pouces · 75 à 130 kg
Le boîtier métallique, monté dans une baie standard de 19 pouces. Un serveur HGX H200 occupe 8 unités de hauteur chez NVIDIA et Supermicro (6U chez Dell) et pèse de 75 à 130 kg selon le modèle : il s'installe à plusieurs, sur des rails renforcés. Derrière le plateau GPU, une grille perforée laisse sortir l'air chaud.
Dissipateur passif
Base cuivre · ailettes aluminium · 0 ventilateur
Le H200 SXM n'a aucun ventilateur : un bloc d'ailettes en aluminium monté sur une base en cuivre (chambre à vapeur) évacue jusqu'à 700 W. Ce sont les ventilateurs du serveur qui poussent l'air à travers les ailettes ; dans les baies HGX H200 refroidies par liquide, ce dissipateur est remplacé par une plaque froide (cold plate).
- Même enveloppe thermique que le H100 : 700 W
- Air ou liquide, au choix du constructeur du serveur
Interface thermique (TIM)
Entre la puce et le dissipateur
Une fine couche de pâte, de pad ou de métal liquide comble les microscopiques irrégularités entre le dessus des puces (GPU et HBM) et la base du dissipateur. Sans elle, l'air emprisonné isolerait la puce et le GPU réduirait sa fréquence en quelques secondes pour ne pas surchauffer.
6 piles de mémoire HBM3e
141 Go · 4,8 To/s · bus de 6 144 bits
La grande nouveauté du H200. Six piles de HBM3e (High Bandwidth Memory) entourent la puce GPU : chaque pile empile plusieurs puces DRAM reliées verticalement par des milliers de micro-vias (TSV). Six piles de 24 Go = 144 Go physiques, dont 141 Go sont utilisables.
- 4,8 To/s de bande passante, soit 1,4 fois le H100
- Posées à quelques millimètres du GPU, sur l'interposeur
- C'est la mémoire qui limite la vitesse d'inférence des grands modèles de langage
Puce GPU GH100 (Hopper)
814 mm² · 80 milliards de transistors · TSMC 4N
Le cœur du H200 : la même puce GH100 que le H100, gravée par TSMC en 4N. Dans sa version SXM, 132 multiprocesseurs (SM) sont actifs, soit 16 896 cœurs CUDA et 528 Tensor Cores de 4e génération, avec 50 Mo de cache L2.
- Transformer Engine : calcul en FP8 pour les modèles de langage
- Jusqu'à 3 958 TFLOPS FP8 (avec sparsité)
- Découpable en 7 instances MIG indépendantes
Interposeur silicium (CoWoS-S)
Packaging 2,5D de TSMC
Une plaque de silicium passive, sans transistor, sur laquelle sont posés côte à côte le GPU et les six piles HBM. Elle contient les milliers de pistes ultra-fines qui relient la mémoire au GPU : c'est elle qui rend possible le bus de 6 144 bits. Cette technique d'assemblage s'appelle CoWoS-S (Chip on Wafer on Substrate) ; sa capacité de production est l'un des facteurs qui limitent la disponibilité des H200 dans le monde.
Cadre de rigidification
Protège le boîtier
Un cadre métallique collé sur le substrat, tout autour de l'interposeur. Il empêche le boîtier de se déformer avec la chaleur et répartit la pression du dissipateur, qui est vissé avec une force importante pour garantir le contact thermique.
Substrat du boîtier
Environ 7,5 × 7,5 cm
Un circuit imprimé multicouche très dense qui fait le lien entre les micro-connexions de l'interposeur et les billes de soudure (BGA) qui fixent l'ensemble sur la carte SXM. Boîtier, interposeur, GPU et HBM forment le « package » : la pièce que NVIDIA livre à ses partenaires.
Étages d'alimentation (VRM)
12 V → moins de 1 V · plusieurs centaines d'ampères
Des dizaines d'étages de puissance et leurs inductances transforment le 12 V fourni par la carte HGX en une tension inférieure à 1 V, mais avec un courant de plusieurs centaines d'ampères. C'est le second poste de chaleur du module après la puce, d'où leur position sous le dissipateur.
Condensateurs de découplage
Filtrage de l'alimentation
Des rangées de condensateurs céramiques autour du boîtier, et des condensateurs plus gros sous la carte, stockent et restituent l'énergie en quelques nanosecondes. Quand les Tensor Cores démarrent un calcul, la demande de courant bondit : ce sont eux qui évitent une chute de tension.
Carte SXM5 (PCB)
Environ 14 × 10 cm
Le circuit imprimé du module. Contrairement à une carte graphique, il n'a ni connecteur PCIe, ni sortie vidéo, ni prise d'alimentation : tout passe par les deux connecteurs situés dessous. Quatre entretoises filetées traversent la carte : elles maintiennent le dissipateur à la bonne hauteur et à la bonne pression sur le boîtier, et guident le module lors du montage sur la carte HGX.
Connecteurs mezzanine SXM
NVLink 900 Go/s · PCIe 5.0 · alimentation
Deux connecteurs haute densité sous la carte s'enfichent dans la carte mère HGX. Ils transportent l'alimentation, les 16 lignes PCIe 5.0 vers le processeur et les 18 liens NVLink (900 Go/s) vers les puces NVSwitch qui relient les 8 GPU du serveur. Aucun câble : c'est ce qui permet d'empiler 8 GPU de 700 W dans un seul châssis.
Le die GH100
814 mm² · 80 milliards de transistors · TSMC 4N
Vu de dessus, le silicium du GH100 est un plan de 28 mm de côté. Tout ce qui calcule est au centre, tout ce qui communique est sur les bords : mémoire à gauche et à droite, NVLink en haut, PCIe en bas. Sur le H200 SXM, 132 des 144 multiprocesseurs gravés sont actifs ; les autres sont désactivés en usine pour améliorer le rendement de fabrication.
8 blocs de calcul (GPC)
8 GPC × 9 TPC × 2 SM = 144 SM gravés, 132 actifs
Le calcul est organisé en 8 Graphics Processing Clusters, chacun de 9 paires de multiprocesseurs (TPC). Chaque multiprocesseur (SM) contient 128 cœurs CUDA et 4 Tensor Cores : 16 896 cœurs CUDA et 528 Tensor Cores au total sur le H200 SXM. Le moteur GigaThread répartit les tâches entre les GPC ; un GPC peut aussi être isolé en instance MIG.
Le SM que nous allons ouvrir
1 SM sur 132 · niveau suivant
Un multiprocesseur en surbrillance : c'est lui que le niveau suivant détaille. Chaque SM exécute des groupes de 32 threads (des « warps »), avec ses propres cœurs, Tensor Cores, registres et mémoire partagée. Zoomez à fond pour y entrer.
Cache L2
50 Mo en deux partitions
Un grand cache partagé par tous les SM, au centre de la puce, en deux moitiés reliées par un réseau d'interconnexion. Il garde sous la main les données les plus demandées pour éviter d'aller les chercher dans la HBM, plus lente et plus énergivore, et il permet aux SM d'échanger des résultats.
Contrôleurs mémoire HBM
12 contrôleurs 512 bits = 6 144 bits · 4,8 To/s
Sur chaque bord, trois interfaces physiques (PHY) relient la puce aux six piles HBM3e posées à côté d'elle sur l'interposeur, à raison de deux contrôleurs mémoire par pile. Le bus de 6 144 bits est ce qui donne au H200 ses 4,8 To/s : c'est le composant qui fait la différence avec le H100.
NVLink 4
18 liens × 50 Go/s = 900 Go/s
Dix-huit liens NVLink de 4e génération, le long du bord supérieur, relient le GPU aux sept autres GPU d'un serveur HGX via les puces NVSwitch. 900 Go/s par GPU, soit 7 fois le PCIe : c'est ce qui permet de répartir un modèle de 400 milliards de paramètres sur 8 GPU comme s'ils n'en faisaient qu'un.
PCIe 5.0 et moteur GigaThread
16 lignes PCIe, 128 Go/s · répartition du travail, MIG
Le bord inférieur reçoit le processeur du serveur : seize lignes PCIe 5.0, 128 Go/s dans les deux sens, par lesquelles arrivent le modèle, les données et les instructions. À côté, le moteur GigaThread, chef d'orchestre de la puce : il reçoit les tâches (les « kernels »), les découpe en blocs de threads et les distribue aux GPC disponibles ; en mode MIG, il isole jusqu'à sept instances indépendantes de 18 Go.
Un multiprocesseur (SM)
1 sur 132 · 4 blocs de traitement
Le SM est l'unité de base du GPU : il exécute des warps de 32 threads sur quatre blocs de traitement identiques, qui partagent 256 Ko de mémoire rapide, quatre unités de texture et un moteur de copie (TMA). Sur une puce, 132 SM travaillent en parallèle.
Ordonnanceur et registres
32 threads par cycle · 64 Ko de registres par bloc
Chaque bloc a son ordonnanceur de warps et son unité de distribution : à chaque cycle, ils choisissent un warp prêt (dont les données sont arrivées) et envoient son instruction aux cœurs ; pendant qu'un warp attend la mémoire, un autre calcule. Juste en dessous, le fichier de registres garde les variables des threads : 64 Ko par bloc, 256 Ko par SM, 33 Mo sur la puce, lus en un cycle.
Cœurs CUDA (FP32)
32 par bloc · 128 par SM · 16 896 par GPU
Les cœurs CUDA font les calculs généraux en virgule flottante 32 bits : additions, multiplications, comparaisons. Trente-deux par bloc, un pour chaque thread du warp, qui exécutent tous la même instruction au même moment sur des données différentes (le modèle SIMT).
Cœurs FP64 et INT32
16 FP64 + 16 INT32 par bloc · 64 + 64 par SM
Les cœurs 64 bits servent au calcul scientifique (simulation, climat, chimie), où la précision prime : seize par bloc, contre un seul sur une carte graphique grand public. Les unités entières calculent adresses, index et boucles pendant que les cœurs flottants font les mathématiques ; les avoir séparées permet d'exécuter les deux en même temps.
Tensor Core 4e génération
1 par bloc · 4 par SM · 528 par GPU
Le cœur de l'IA : une unité qui multiplie des matrices entières en une instruction, en FP8, FP16, BF16, TF32 ou INT8. Le Transformer Engine choisit la précision à la volée pour les modèles de langage. 4 Tensor Cores par SM, 528 sur le H200 : jusqu'à 3 958 TFLOPS en FP8 avec sparsité. Zoomez à fond pour voir l'opération.
Unités LD/ST et SFU
8 LD/ST + 4 SFU par bloc
Les unités load/store lisent et écrivent la mémoire pour les threads ; les Special Function Units calculent sinus, exponentielle, racine carrée, inverse… utilisées en permanence par les fonctions d'activation des réseaux de neurones.
Caches L1 : données et instructions
256 Ko de L1 / mémoire partagée + cache d’instructions
En bas, une mémoire rapide commune aux quatre blocs, répartie au choix entre cache L1 et mémoire partagée programmable, où les threads d'un même bloc s'échangent des données : 256 Ko par SM, à quelques cycles des cœurs, la clé des performances de bibliothèques comme FlashAttention. En haut, le cache d'instructions L1 garde le programme en cours et alimente les caches L0 de chaque bloc.
TMA et unités de texture
Copies asynchrones HBM → mémoire partagée · 4 unités de texture
Le Tensor Memory Accelerator, nouveau sur Hopper, déplace de grands blocs de données de la mémoire globale vers la mémoire partagée en arrière-plan, pendant que les Tensor Cores calculent. Les quatre unités de texture, héritées du rendu 3D, lisent et filtrent des images en mémoire : échantillonnage et interpolation en IA, habillage des surfaces en rendu.
Matrice A : les activations
4 × 8 valeurs en FP8 ou FP16
Les données en cours de traitement : par exemple, pour un modèle de langage, la représentation du texte à l'étape courante. Chaque ligne de A est multipliée par chaque colonne de B. En FP8, chaque valeur tient sur un octet : c'est ce qui permet de doubler le débit par rapport au FP16.
Matrice B : les poids
8 × 4 valeurs, chargées depuis la HBM
Les paramètres appris du modèle, lus depuis la HBM3e par paquets. Un modèle de 70 milliards de paramètres, c'est 70 milliards de valeurs comme celles-ci, multipliées à chaque token généré : d'où l'importance de la bande passante mémoire.
Résultat D = A × B + C
16 produits scalaires · 128 multiplications-additions en une instruction
Chaque case de D est un produit scalaire : une ligne de A multipliée terme à terme par une colonne de B, puis sommée, et ajoutée à l'accumulateur C (le résultat précédent, en FP16 ou FP32) : c'est ainsi que de grandes multiplications sont découpées en tuiles accumulées sans perte de précision. Sous les matrices, une grille de circuits fused multiply-add câblés en dur fait toutes les opérations en même temps, les données passant directement d'un multiplieur à l'additionneur voisin. Un Tensor Core de 4e génération enchaîne 512 de ces opérations par cycle en FP16, 1 024 en FP8 ; le H200 en compte 528, à près de 2 GHz.