On ne peut pas dire qu’AMD ait du poids dans le monde du calcul haute performance et de l’IA, puisqu’il s’agit d’un marché dominé par NVIDIA et ses bibliothèques CUDA. Cependant, il ne semble pas que l’équipe de Lisa Su veuille être en reste et l’AMD Instinct MI300 est probablement l’un de ses modèles les plus intéressants, non seulement pour sa capacité technique, mais aussi pour le fait qu’il inaugure pour la première fois des technologies qui nous verrons dans le futur les produits de la marque. Quels secrets cache la conception la plus gigantesque d’AMD ?
Lors de la présentation de l’AMD EPYC basé sur Zen 4c et Zen 4 avec V-Cache, Lisa Su a laissé entendre que le marché de l’IA est un marché en expansion dont ils envisagent de faire partie, en prenant un pourcentage important d’un marché dominé par le Jensen Huang. Le premier design clé dans tout cela est l’AMD Instinct MI300 qui vient défier le tout-puissant NVIDIA H100. Quels secrets cache-t-il ?
Pourquoi l’AMD Instinct MI300 marque-t-il l’avenir d’AMD ?
Il faut partir du fait que le MI300 n’est pas une conception commerciale à l’origine, même si AMD le vendra à plusieurs clients différents comme produit final, la réalité est qu’il a été conçu pour une solution spécifique, le supercalculateur El Capitan.
Dans le même temps, cela leur a permis de déployer et de développer pour la première fois une série de techniques sur du matériel physique. Ce qui est donc intéressant dans le design, ce ne sont pas vraiment ses spécifications techniques, mais le fait qu’il s’agit d’un aperçu des futures générations de produits AMD en collaboration avec son partenaire TSMC.
En fait, il s’agit d’un déploiement de technologies permettant des conceptions basées sur des chipsets à large bande passante. La clé de tout cela n’est pas seulement la vitesse de transfert, mais aussi le coût énergétique par transfert, c’est pourquoi l’industrie en général a décidé à l’unanimité de cesser d’utiliser les connexions parallèles et de les utiliser dans une matrice.
Pour ce faire, il est nécessaire de placer les différentes puces au-dessus d’une autre puce, généralement appelée interposeur et qui est responsable de l’intercommunication interne de celles montées au-dessus. AMD, dans ses conceptions, a jusqu’à présent utilisé des connexions horizontales, mais pas des connexions verticales et, par conséquent, n’a aucune implémentation fonctionnant via des vias en silicium. En cela, Intel avec Foveros et sa mise en œuvre dans Meteor Lake sont un niveau au-dessus. Cependant, l’objectif de la marque Lisa Su est différent.
Un connecteur universel pour les futures puces AMD

La principale nouveauté du MI300 n’est pas le design lui-même, mais plutôt il introduit précisément cette connexion verticale de manière standardisée pour les futurs designs de la marque. La même chose qui s’est produite à son époque avec ce qu’on appelle Infinity Fabric, qui est devenu et continue d’être le ciment des différentes unités des conceptions AMD et qui leur permet de réaliser différentes conceptions personnalisées pour leurs clients ou de déployer de toutes nouvelles puces. .rapidement.
La grande nouveauté du MI300, qui a été implémentée à la fois dans CDNA3 et dans la version modifiée des cœurs Zen 4, disponible dans le MI300A, est précisément ce connecteur vertical. Ce qui leur permet de communiquer avec l’interposeur situé en dessous d’eux moyennant un pourcentage du coût par bit transmis. Grâce à cela, le problème de la bande passante nécessaire à la communication est résolu sans augmenter la consommation d’énergie.
L’idée est simple, disposer, pour les futures conceptions, d’une interface qui leur permette de créer facilement des configurations basées sur différents chiplets. Cependant, si vous nous le permettez, nous allons faire une halte en cours de route, car nous devons d’abord expliquer la raison pour laquelle le MI300 doit utiliser un interposeur et doit être désintégré en plusieurs puces différentes.
AMD Instinct MI300, un GPU massif pour HPC et IA

Sur le papier, les spécifications de l’AMD Instinct MI300 sont supérieures à celles du NVIDIA H100, du moins en ce qui concerne le nombre de cœurs, puisque physiquement nous n’avons ni plus ni moins que les configurations suivantes :
- Le MI300A est composé :
- 6 XCD.
- 3 CCD.
- 8 batteries HBM3 d’une capacité totale de 128 Go.
- Le MI300X, cependant :
- 8 XCD.
- 8 batteries HBM3 d’une capacité totale de 192 Go.
Le MI300A peut donc vraiment être considéré comme un APU, mais il lui manque les éléments de gestion des périphériques pour être considéré comme un SoC, englobant le CPU et le GPU dans un seul système. Au lieu de cela, le MI300X est un pur GPU HPC et AI, il peut donc être déployé dans un système, qu’il s’agisse d’un serveur ou d’un poste de travail.
Le NVIDIA H100 se voit attribuer 6 piles HBM3 et atteint la limite du réticule, qui est la taille maximale qu’une puce peut atteindre.
En revanche, le MI300 est conçu pour héberger un plus grand nombre de cœurs et de bande passante, ce qui nécessite de diviser le GPU pour le HPC, mais à la différence que la communication conventionnelle serait impossible, c’est là que nous vous avons expliqué dans Le précédent La section prend toute l’importance et où l’interposeur est nécessaire, cependant, tout d’abord, nous passerons en revue l’architecture du GPU.
La philosophie derrière les « GPU » CDNA d’AMD

Actuellement, AMD dispose de deux architectures disparates, qui diffèrent surtout par le type d’unité de calcul qu’elles utilisent, à savoir que dans tous les GPU à architecture CDNA, comme c’est le cas en question, l’objectif principal est d’accélérer les algorithmes conçus pour les disciplines informatiques. tels que le Machine et le Deep Learning, et tous les types de réseaux de neurones, tels que les réseaux convolutifs.
Dans le même temps, son objectif est le calcul haute performance, où il opère avec des précisions mathématiques bien supérieures à celles nécessaires pour une application commerciale.
CDNA n’est pas un GPU pour la 3D

L’unité de calcul CDNA est basée sur l’ancienne architecture GCN, il s’agit d’une évolution de la conception de sa dernière itération, Vega, mais avec deux changements :
- L’unité de texture demeure, mais seulement sa capacité à récupérer des données du cache de données local au sein de l’unité de calcul elle-même. Tout ce qui concerne le filtrage de texture, utilisé dans les jeux vidéo, a été annulé.
- Comme avec RDNA 3, les disques SIMD ont la capacité d’exécuter des instructions de type WMMA pour effectuer des opérations inter-puces. Quoi qu’il en soit, AMD n’a jamais précisé avec CDNA si tel était le scénario ou s’il s’agissait de tableaux systoliques ou d’unités tensorielles.
Comme dans un GPU classique, CDNA regroupe ses unités de calcul en groupes appelés différents par chaque marque commerciale. Le fait est qu’un GPU conçu pour les graphiques 3D au niveau supérieur, nous voyons généralement des unités de fonctions fixes qui ne sont pas présentes dans CDNA car elles ne sont pas nécessaires pour ce pour quoi il a été conçu.
De plus, au niveau du processeur de commandes, l’anneau 0, qui se charge de gérer la liste des écrans sur un GPU, et qui est plus grand que les autres, a été supprimé pour ne laisser que ceux de Informatique. Dans tous les cas, n’oublions pas que le MI300 n’est pas conçu pour être placé sur votre PC gamer.
La salsa secreta del AMD Instinct MI300: el interposer

Et nous arrivons ici au point le plus important, qui est l’interposeur ou la puce qui va sur la base et qui fait communiquer les différentes puces entre elles et avec la mémoire HBM 3. Cependant, AMD ne s’est pas limité à en créer une qui soit limitée à la transmission de données, mais y a déplacé une série de fonctions, qui sont :
- Le contrôleur de mémoire commun à toutes les unités MI300.
- Il contient 64 Mo de cache L3, commun au CPU et au GPU, permettant un accès totalement cohérent à la mémoire.
- Il intègre une série d’accélérateurs couramment utilisés pour toutes les unités, ce qui évite les duplications.
Cependant, AMD et TSMC ont été contraints de diviser l’interposeur en quatre unités différentes et complètement symétriques, principalement en raison du fait qu’une seule pièce aurait été impossible à fabriquer, car elle dépassait la limite du réticule de la plaquette.
Et l’AMD Instinct MI300 mesure un total de 1462,35 mm², bien au-dessus de la limite maximale de fabrication d’une puce monobloc. Pour résoudre ce problème, ils ont utilisé des ponts de silicium, qui permettent l’interconnexion entre les différents interposeurs qui composent le MI300. Tout cela sert à créer différentes variantes combinant différents CCD et XCD, en fonction des besoins de clients spécifiques. Toutefois, les deux modèles standards sont le MI300X et le MI300A.
Comment combiner des centaines de cœurs entre eux ?

L’un des plus grands défis lors de la création d’une puce multicœur, qu’il s’agisse d’un CPU ou d’un GPU, est l’intercommunication entre les différents éléments, le problème étant qu’à mesure que ceux-ci augmentent, la complexité du câblage interne augmente également. Une solution très courante consiste à utiliser une topologie en anneau, mais le problème est que plus l’anneau s’élargit, plus la latence entre les cœurs augmente, donc à l’échelle du MI300, ce n’est pas la meilleure.
La solution d’AMD pour le MI300 est basée sur la mise en œuvre d’un NoC ou d’un réseau sur une puce dans l’interposeur, où chaque élément dispose d’une petite carte réseau et d’un routeur central qui s’occupe de toute la gestion. Cependant, ce n’est pas le maximum qu’AMD peut atteindre pour le moment, et on se demande ce que nos yeux verront suite à l’achat de « Pensando », analogue à celui de Mellanox par NVIDIA.
La base des futurs produits de la marque

Le fait d’avoir un interposeur qui rassemble le contrôleur de mémoire intégré et le cache L3 est clé pour l’avenir, d’autant plus qu’il s’agit d’éléments à la fois pour le CPU, le GPU et les combinaisons des deux. Le déplacement de ces éléments vers l’interposeur du MI300 a permis de monter les chiplets principaux sur le dessus.
Un hypothétique futur AMD Ryzen basé sur Zen 6 et un supposé socket AM6 peut déplacer l’IOD vers l’interposeur et ajouter un niveau de cache supplémentaire pour atténuer la latence inter-CCD, et la même chose peut également être appliquée aux futurs GPU, par exemple, ce permettra de déplacer la fonction des MCD dans un futur modèle vers l’interposeur.
