1 points par GN⁺ 2023-12-19 | 1 commentaires | Partager sur WhatsApp

L’architecture de calcul CDNA 3 d’AMD

  • AMD a une longue histoire d’efforts pour augmenter sa part de marché dans le calcul sur GPU.
  • Depuis l’architecture Tesla de Nvidia, AMD continue de courir après.
  • Terascale 3 est passé de VLIW5 à VLIW4, améliorant l’utilisation des unités d’exécution dans les charges de travail de calcul.
  • GCN a remplacé Terascale et a mis l’accent sur des performances cohérentes à la fois pour le GPGPU et les applications graphiques.
  • AMD a séparé le développement de ses architectures GPU en lignes distinctes, CDNA pour le calcul et RDNA pour le graphisme.
  • CDNA 2 a apporté à AMD un succès notable. Les GPU MI250X et MI210 ont remporté plusieurs contrats de supercalculateurs.
  • CDNA 3 réduit l’écart en mobilisant tout ce qu’AMD peut offrir. Le MI300X met en avant des technologies de packaging avancées grâce à une configuration chiplet sophistiquée.
  • Côté mémoire, l’Infinity Cache de la ligne RDNA a été introduit dans l’univers CDNA pour atténuer les problèmes de bande passante.
  • L’architecture de calcul de CDNA 3 bénéficie d’importantes améliorations générationnelles pour accroître le débit et l’utilisation.

Disposition du GPU

  • AMD a l’habitude d’utiliser des chiplets sur ses CPU Ryzen et Epyc afin d’augmenter à moindre coût le nombre de cœurs.
  • Le MI300X utilise une stratégie similaire, en séparant le calcul dans des Accelerator Complex Dies appelés XCD.
  • Chaque XCD comprend un ensemble de cœurs et un cache partagé, et le MI300X possède au total 8 XCD, offrant 304 Compute Units.
  • Le H100 de Nvidia dispose de 132 Streaming Multiprocessors (SMs), présentés aux programmeurs comme un seul grand GPU unifié.
  • Le Ponte Vecchio (PVC) d’Intel utilise des Compute Tiles et une Base Tile pour offrir des fonctions similaires, mais fait face à des défis en tant que GPU unifié à cause des limites de bande passante des ponts EMIB.

Résolution des problèmes de bande passante

  • Depuis des décennies, la puissance de calcul progresse plus vite que la mémoire, et les GPU y répondent avec des stratégies de cache de plus en plus sophistiquées.
  • CDNA 2 utilisait 8 MB de cache L2 et s’appuyait sur la HBM2e, mais AMD a ajouté l’« Infinity Cache » utilisé dans RDNA(2).
  • L’Infinity Cache est un cache côté mémoire, par lequel tout le trafic mémoire transite.
  • L’Infinity Cache de CDNA 3 est conçu pour optimiser la bande passante et se compose de 128 tranches, fournissant au total 17.2 TB/s de bande passante.

Défis possibles de la bande passante inter-die

  • L’Infinity Fabric du MI300X comprend 4 dies d’E/S, chacun relié à deux piles HBM et aux partitions de cache associées.
  • La bande passante des connexions inter-die peut limiter l’atteinte de la bande passante théorique de l’Infinity Cache lorsque la puce fonctionne comme un seul GPU logique.

Cohérence inter-XCD

  • L’Infinity Cache n’a pas à se soucier de la cohérence, mais le cache L2 oui.
  • AMD utilise les Coherent Masters (CMs) et les Coherent Slaves (CS) de l’Infinity Fabric pour exposer le MI300X comme un seul grand GPU.

Cache L2

  • Chaque XCD du MI300X inclut 4 MB de cache L2, qui joue un rôle important en tant que cache GPU traditionnel.

Cache L1

  • CDNA 3 double le débit du cache L1 et augmente sa capacité de 16 KB à 32 KB.

Ordonnancement et unités d’exécution

  • Grâce à une configuration chiplet complexe et à une hiérarchie de cache modifiée, AMD présente le MI300X comme un GPU unique.
  • CDNA 3 apporte des améliorations itératives à l’architecture Compute Unit de base de CDNA 2, qui avait du mal à exploiter pleinement les unités FP32.

Opérations matricielles

  • La multiplication de matrices devient de plus en plus importante avec la montée en puissance du machine learning.
  • Le MI300X double le débit matriciel par CU, améliorant les performances par rapport aux générations précédentes de CDNA.

Cache d’instructions

  • CDNA 3 porte la capacité du cache d’instructions à 64 KB et double son associativité de 4-way à 8-way.

Derniers mots

  • Le plus grand changement générationnel de CDNA 3 se situe dans la hiérarchie mémoire, avec l’ajout de l’Infinity Cache comme amélioration principale.
  • AMD a fortement augmenté la bande passante inter-die afin de faire du MI300 un seul grand accélérateur unifié.

L’avis de GN⁺

  • L’architecture CDNA 3 représente une avancée majeure qui renforce la compétitivité d’AMD dans le domaine du calcul sur GPU.
  • L’introduction de l’Infinity Cache constitue une approche innovante pour résoudre les problèmes de bande passante mémoire, particulièrement importante pour les applications de calcul haute performance traitant de grands jeux de données.
  • La stratégie d’AMD consistant à présenter le MI300X comme un GPU unique réduit la complexité de programmation et permet aux développeurs d’utiliser les ressources plus efficacement, rendant ainsi la gamme de GPU d’AMD plus attractive pour un marché plus large.

1 commentaires

 
GN⁺ 2023-12-19
Commentaires sur Hacker News
  • J’ai appris qu’AMD s’était scindé en développant les architectures GPU CDNA et RDNA, chacune spécialisée respectivement pour le calcul et le graphisme.

    • Cela permet de comprendre pourquoi les cartes graphiques grand public d’AMD ne sont pas adaptées aux tâches de calcul : c’est dû à des différences d’architecture. Cela ressemble à une autoroute sans bretelles d’accès.
  • Je pense qu’il sera difficile pour AMD de concurrencer NVidia dans un avenir proche, car de nombreux scientifiques reçoivent des GPU gratuits ou à prix réduit de la part de NVidia pour développer les bibliothèques clés du domaine ML/IA.

    • Avis selon lequel la manière dont NVidia s’implante dans le milieu académique est contraire à l’éthique.
  • C’est la première fois que j’entends parler du VLIW (Very long instruction word).

    • VLIW désigne une architecture de jeu d’instructions conçue pour exploiter le parallélisme au niveau des instructions. Alors qu’un CPU classique n’autorise l’exécution des instructions que de façon séquentielle, un processeur VLIW peut indiquer explicitement une exécution en parallèle. L’objectif est d’offrir de meilleures performances sans la complexité d’autres conceptions.
  • J’exprime mon avis sur le fait que j’avais prédit qu’AMD ferait son retour dans l’IA en tirant parti de ses connaissances sur les chiplets et la bus fabric.

    • J’admets ne pas avoir vraiment confiance dans ma capacité à lire cet article, ni même à lire ce genre de sujet en général, et je voulais simplement exprimer mon point de vue.
  • Je me demande à partir de quand le mot "compute" a commencé à être utilisé comme nom.

    • J’exprime mon malaise face à l’emploi nominal du mot "compute".
  • Depuis des décennies, la puissance de calcul progresse plus vite que la mémoire. Comme les CPU, les GPU y répondent avec des stratégies de cache de plus en plus sophistiquées.

    • À la différence des CPU, les GPU n’essaient pas d’y répondre directement : ils acceptent une latence élevée et la compensent en parallélisant bien davantage, produisant ainsi un effet de « masquage de latence ». Cela peut servir d’exemple dans une présentation sur l’optimisation du code GPU.