AMD révèle les secrets du matériel qui se cache derrière le premier ordinateur exascale des États-Unis. Le superordinateur appelé Frontier utilisera des processeurs de serveur améliorés de la génération Epyc-7003. AMD équipe ces processeurs spéciaux, baptisés Milan-X, du cache 3D V, qui triple la capacité du cache de niveau 3, de 256 à 768 Mo. [-] Avec les caches de niveau 2 et 1, le processeur atteint ainsi un gigantesque 804 MByte de mémoire intermédiaire rapide.
La majeure partie de la puissance de calcul est cependant fournie par les nouveaux accélérateurs de calcul de la série Instinct MI200, plus précisément le MI250X. Ils se composent chacun de deux puces de calcul, tournent à une fréquence pouvant atteindre 1,7 GHz, possèdent une mémoire en pile HBM2E de 128 Go et atteignent une puissance de calcul d’environ 47,9 trillions de pas de calcul par seconde (TFlops) avec une précision en virgule flottante de 64 bits (FP64) propre aux superordinateurs.
En termes de puissance de calcul, le supercalculateur Frontier devrait donc atteindre les 1,5 exa-flops prévus avec un peu moins de 32 000 accélérateurs MI250X répartis sur 4 000 nœuds, selon la façon dont les arrondis sont effectués et si les opérateurs autorisent le décompte des processeurs Epyc d’AMD.
Sommaire
Milan-X
AMD n’a pas encore communiqué à l’avance les noms des produits pour les nouveaux processeurs de serveur Epyc de la génération Zen-3, mais elle a communiqué le nom de code : Milan-X. Ils utiliseront la technologie appelée 3D V-Cache, dans laquelle de petites puces de cache sont pressées sur les dies de cache de calcul (CCD) des processeurs Epyc-7003 via une connexion directe cuivre-cuivre. La patronne d’AMD, le Dr Lisa Su, avait déjà fait la démonstration de 3D V-Cache lors du Computex virtuel en juin : A cette époque encore sur un Ryzen 9 5900X, dont les deux CCD y compris le V-Cache sont arrivés à 192 MByte de cache L3.
Avec les processeurs Epyc et leur maximum de 64 cœurs dans 8 CCD, chaque puce de calcul individuelle peut être dotée d’un V-cache 3D de 64 Mo. En incluant les 256 MByte déjà intégrés dans les CCD, les processeurs disposent donc d’un total de 768 MByte de cache L3 – AMD ajoute les caches L2 et L1 à des fins marketing, mais c’est un non-sens technique, puisque ceux-ci sont exclusivement disponibles pour leurs cœurs respectifs, les autres cœurs ne peuvent donc pas y accéder directement.
Même si le cache n’augmente pas le débit de calcul pur des unités vectorielles AVX2, dans la pratique, les performances augmentent sensiblement dans de nombreux cas en raison de la réduction effective de la latence de la mémoire. AMD mentionne une augmentation des performances de 66 % et, comme exemple concret, Synopsis VCS, un outil très répandu de l’automatisation de la conception électronique – avec lequel les conceptions de puces sont vérifiées pour détecter les erreurs. Par rapport à un Epyc 73F3 à 16 cœurs avec un cache L3 de 256 Mo, un Epyc configuré de manière similaire avec un cache 3D V de 768 Mo aurait atteint 40,6 cycles par heure au lieu de 24,4.
Les processeurs Epyc seront lancés au premier trimestre 2022, loin du superordinateur Exascale Frontier, et seront exécutables dans les plates-formes serveur Milan existantes avec la version SP3 après une mise à jour du BIOS.
Instinct MI200 : MI250 MI250X
La charge principale du travail de calcul du superordinateur Frontier repose toutefois sur les accélérateurs de calcul MI250 et MI250X. Ils proviennent également d’AMD et la lecture de la fiche technique suffit à vous étonner : ils offrent l’énorme performance FP64 de 49,7 TFlops – en comparaison, la puce A100 actuelle de Nvidia n’atteint que 9,7 TFlops.
AMD réussit également cet exploit grâce à quelques astuces. Par exemple, l’architecture CDNA sous-jacente a été optimisée uniquement pour les charges de travail de calcul, de sorte qu’elle n’a pas le poids d’une puce qui convient également aux applications graphiques. AMD appelle néanmoins ces puces « Graphics Compute Die » (GCD). Ensuite, AMD utilise la technologie de production la plus moderne pour les puces « Aldebaran ». Les processeurs sont fabriqués au TSMC dans des structures d’un minimum de 6 nanomètres. Cela augmente la vitesse d’horloge maximale possible jusqu’à 1,7 GHz et permet à AMD d’intégrer 128 unités de calcul de 64 processeurs de flux dans un GCD. Enfin, un MI250 ou MI250X se compose de deux puces avec un total de 220 unités de calcul actives.
Ensuite, il y a les cœurs matriciels, qui peuvent traiter les FP32 et FP64 à la même vitesse que les unités vectorielles, mais qui sont à nouveau deux fois plus rapides pour les multiplications matrice-matrice et les mathématiques PackedFP32. Avec jusqu’à 95,7 FP64/Packed FP32-TFlops, ils surpassent de loin les autres accélérateurs.
AMD mise également sur la mémoire : 128 Go de mémoire stack HBM2E, divisée en huit modules de 16 Go chacun, sont disponibles. Chaque module est relié à l’une des deux puces de calcul par 1024 lignes de données parallèles et fonctionne à un débit de 3,2 Gbps. Ensemble, cela donne au MI250(X) un taux de transfert de 3.2 TByte/s, comparé à 1.2 TByte/s pour son prédécesseur, le MI200, et 2 TByte/s pour le modèle supérieur de Nvidia, le A100 80GB SXM.
Huit Infinity Links avec un taux de transfert bidirectionnel de 800 GByte/s connectent jusqu’à huit MI250(X) ou 16 GCD. Le MI250 sans X n’a que six de ces liens au lieu de huit et AMD ne lui permet pas d’avoir une cohérence de mémoire.
Mais tout cela a un prix : AMD cite la consommation d’énergie d’un module d’accélération OCP (OAM) du modèle supérieur MI250X à 560 watts – l’A100 de Nvidia doit se contenter de 400 watts dans sa version standard.
Instinct MI250X (OAM) |
Instinct MI250 |
Instinct MI210 (PCIe) |
Instinct MI100 (PCIe) |
A100 (SXM) |
|
Fabricant |
AMD |
AMD |
AMD |
AMD |
Nvidia |
GPU |
2x CDNA2 Aldebaran |
2x CDNA2 Aldebaran |
2x CDNA2 Aldebaran |
CDNA Arcturus |
A100 (Ampères) |
CUs/SMs |
220 |
208 |
n.d. |
120 |
108 |
Cœurs FP32 / CU |
64 |
64 |
n.d. |
64 |
64 |
Cœurs FP32 / GPU |
14080 |
13312 |
n.d. |
7680 |
6912 |
Cœurs FP64 / CU |
64 |
64 |
n.d. |
32 |
32 |
Cœurs FP64 / GPU |
14080 |
13312 |
n.d. |
3840 |
3456 |
Moteurs de multiplication matricielle / GPU |
880 |
832 |
n.d. |
480 |
432 |
Horloge de stimulation du GPU |
1700 MHz |
1700 MHz |
n.d. |
1502 |
n.d. |
Pic FP32 / FP64 TFlops |
47,9 / 47,9 |
45,3 / 45,3 |
n.d. |
23,07 / 11,54 |
19,5 / 9,7 |
Noyau Tensor de pointe TFlops |
— |
— |
n.d. |
— |
156 (TF32) / 312 (TF32 Sparsité structurelle) |
Pic du moteur à cœur de la matrice TFlops |
95,7 (FP32 FP64) |
90,5 (FP32 FP64) |
n.d. |
46,1 (FP32) |
— |
Pic FP16 / BF16 TFlops |
308 / 308 |
362,1 / 362,1 |
n.d. |
184,6 / 92,3 |
312 / 312 (624 / 624 Sparsité structurelle) |
Pic INT8 / INT4 TOps |
308 / 308 |
362,1 / 362,1 |
n.d. |
184,6 / 184,6 |
624 / 1248 (1248 / 2496 Sparsité structurelle) |
Interface mémoire |
2 × 4096 bit HBM2E |
2 × 4096 bit HBM2E |
n.d. |
4096 Bit HBM2 |
5120 Bit HBM2 |
Taille de la mémoire |
128 GByte |
128 GByte |
n.d. |
32 GByte |
40 – 80 GByte |
Taux de transfert de la mémoire |
3,2 TByte/s |
3,2 TByte/s |
n.d. |
1,2 TByte/s |
1,55 – 2,0 TByte/s |
TDP |
560 Watt (refroidissement liquide) / 500 Watt (flux d’air) |
560 Watt (refroidissement liquide) / 500 Watt (flux d’air) |
n.d. |
300 Watt |
400 Watt (SXM) |
Transistors (milliards) |
58 milliards d’euros |
58 milliards d’euros |
n.d. |
n.d. |
54 milliards d’euros |
Fabrication |
6 nm |
6 nm |
6 nm |
7 nm |
7 nm |