Architecture RDNA 2, cache infini et vitesse
L’attente est terminée. On a beaucoup discuté cette année en ce qui concerne la fortune d’AMD sur le marché des cartes graphiques hautes performances. Remarquable par son absence alors que son rival Nvidia a fait du foin – et beaucoup d’argent – avec GeForce RTX, le fardeau de la responsabilité du GPU incombe aujourd’hui carrément à Big Navi, très médiatisé.
Dévoilé aux amateurs de jeux sous le nom de Radeon RX 6000 Series, AMD n’hésite pas à aller de pair avec le meilleur de Nvidia. Dans le coin rouge, RDNA 2 sort avec les informations d’identification GPU de la console de nouvelle génération. Dans le coin vert, Ampère se pavane en tant que champion incontesté actuel des poids lourds. Ding Ding.
RDNA 2
Visant un coup de grâce, l’architecture derrière Big Navi est connue sous le nom de RDNA 2. Comme son nom l’indique, elle s’appuie sur le RDNA de première génération présent sur la série Radeon RX 5000 sortie en juillet 2019. Plus grand et plus efficace que son ancêtre en silicium encore apparemment toujours sur le même processus 7 nm, expliquons comment AMD est arrivé ici.
Il est important de comprendre que l’objectif d’AMD avec RDNA 2 est d’améliorer les performances de 2x par rapport au meilleur de la dernière génération, le Radeon RX 5700 XT, tout en améliorant également les performances par watt. Ce dernier est nécessaire car AMD ne gagne pas automatiquement en efficacité énergétique grâce au retrait de processus habituel. Ce sont des objectifs ambitieux mais nécessaires si AMD veut contester le dernier matériel graphique basé sur Nvidia Ampere là où il est le plus puissant.
Appréciant qu’il ne peut pas faire de changements d’architecture en un peu plus d’un an, le RDNA 2 d’AMD tire parti du même flux d’unité de calcul (CU) de base, mais en extrait davantage en s’appuyant fortement sur trois piliers clés: la conception à grande vitesse, Infinity Cache et ce qu’il appelle des fonctionnalités avancées.
Conception à grande vitesse
Le RDNA d’origine n’est pas en reste, car les cartes partenaires RX 5700 XT augmentent régulièrement à 2 GHz. En haussant la barre cette fois-ci, AMD affirme avoir tiré les leçons de sa division CPU Zen. À titre d’exemple, considéré par UC – les éléments constitutifs des performances graphiques d’AMD – RDNA 2 peut fonctionner jusqu’à 30% plus vite à la même puissance ou utiliser la moitié de la puissance à la même vitesse. Les pilotes importants ici sont des bibliothèques de performances optimisées, une microarchitecture rationalisée, la suppression des goulots d’étranglement de fréquence en examinant la conception de haut en bas et l’utilisation de l’intelligence Zen pour extraire le dernier morceau de mise à l’échelle de fréquence.
Cette efficacité et ce variateur de fréquence représentent une énorme affaire dans le même nœud de processus et c’est la raison fondamentale pour laquelle RDNA 2 peut s’intégrer dans une puce de 80 CU (RX 6900 XT) à 300 W, par rapport à une implémentation de 40 CU (RX 5700 XT) à 225W pour RDNA de première génération.
En poussant plus de chiffres et en décrivant l’efficacité d’une manière différente, on dit que RDNA 2 offre jusqu’à 54% de performances par watt (PPW) en plus par rapport au RDNA. AMD décompose ce gain en trois autres domaines: l’augmentation de la fréquence de conception (17 pc), les optimisations de puissance (17 pc) et les améliorations des performances par horloge (21 pc).
Infinity Cache – Pourquoi maintenant?
L’augmentation du PPW consiste à réduire la consommation d’énergie étrangère tout en augmentant simultanément l’IPC. Une situation gagnant-gagnant dans la conception d’architecture. AMD sait que nourrir une bête de 80 CU nécessite effectivement une énorme bande passante mémoire qui brûle naturellement grâce à l’énergie. Il serait généralement naturel pour AMD d’adopter la dernière mémoire HBM2 ou, disons, une mémoire G6 de 384 bits fonctionnant à près de 20 Gbps. Les deux solutions viables augmentent inévitablement la puissance qui endommage immédiatement PPW.
Décrite comme l’avancée la plus significative en matière d’efficacité énergétique pour RDNA 2 et donc inextricablement intégrée dans ce lecteur PPW, une nouvelle technologie appelée Infinity Cache. Pour comprendre l’importance, il est nécessaire de voir comment RDNA de première exécution gère la mise en cache. La structure à trois niveaux augmente en vitesse à mesure qu’elle se rapproche des moteurs de calcul, ce qui est identique à la conception du processeur. Cela a du sens, mais de par leur nature, ces caches sont relativement petits car la zone de découpe est principalement consacrée aux UC et aux shaders à opération parallèle plutôt qu’aux piles de mémoire.
L’objectif d’Infinity Cache est de reproduire la qualité des performances d’un bus mémoire plus large et plus gros mais, surtout, sans imiter sa puissance, permettant ainsi à RDNA 2 d’atteindre cette métrique PPW très importante. AMD a déclaré que ses simulations ont observé que si un GPU installait une quantité beaucoup plus grande de cache de dernier niveau sur la puce, alors un ensemble de travail de jeu pourrait être principalement contenu en son sein, laissant supposer des taux de succès de cache élevés, et réduisant ainsi la pression sur le configuration de la mémoire externe. L’inconvénient, cependant, est qu’une cache surdimensionnée coûterait une quantité importante de zone de dé. Il n’y a pas de repas de silicium gratuit.
Et par gros, nous entendons grand. Ce cache devrait être d’au moins 100 Mo pour atteindre 50% + des taux de réussite à une résolution 4K favorisée par Big Navi. De manière pratique, il se trouve que les processeurs EPYC des serveurs d’AMD disposent d’un cache L3 haute densité et bande passante élevée qui pourrait être repensé pour les tâches GPU. Aller après PPW signifie qu’Infinity Cache est digne de l’investissement de la taille de la puce, et il est présent sur RX 6800/6800 XT et 6900 XT dans un bloc de 128 Mo. Composé d’un cache et connecté via Infinity Fabric, il est capable de fournir 64 octets de données, par horloge, sur 16 canaux, à 1,94 GHz.
L’analyse des chiffres révèle une bande passante totale de mise en cache d’environ 2 To / s, soit 4 fois celle d’une interface externe de 256 bits vers la mémoire G6. Il est raisonnable de supposer que les GPU RDNA 2 de milieu de gamme auront un cache Infinity plus petit et plus lent, car ils sont prêts pour les résolutions FHD et QHD.
L’exécution du cache Infinity fournit le double de la bande passante effective d’un bus G6 384 bits – nécessaire pour une conception très lourde comme Big Navi – avec une puissance globale de sous-système de mémoire inférieure. Infinity Cache permet en outre à l’architecture RDNA 2 haute fréquence de mieux maximiser les performances à ses hautes fréquences – nourrissant la bête et tout cela. Dernier point mais non le moindre, le fait d’avoir un grand pool sur die réduit la latence par rapport à la mise en file d’attente régulière vers G6.
Changer la hiérarchie de la mémoire sur les GPU est un grand pas. Les moteurs de jeux semblent bien répondre à l’implémentation de première exécution présente sur Big Navi, et nous avons l’impression que cette grande mémoire sur puce est là pour rester sur les architectures graphiques AMD ultérieures. La manière dont les développeurs se mettent au point constitue une source intéressante de discussions techniques.
Si Infinity Cache est une si bonne idée, pourquoi n’a-t-il pas été implémenté auparavant? Il y a une myriade de raisons, mais la plus pertinente est qu’AMD n’a pas encore livré une pièce de 80 CU nécessitant une prise en charge énorme de la bande passante mémoire. Infinity Cache a plus de sens car les moteurs de calcul deviennent plus nombreux et plus rapides, et répondent moins bien à une parallélisation extrême – RDNA 2 convient parfaitement. Il a également des ramifications orthogonales pour le lancer de rayons, que nous aborderons à la page suivante.