1 Punkte von GN⁺ 2023-12-19 | 1 Kommentare | Auf WhatsApp teilen

AMDs CDNA-3-Compute-Architektur

  • AMD hat eine lange Geschichte dabei, seinen Marktanteil im GPU-Compute-Markt zu steigern.
  • Seit Nvidias Tesla-Architektur ist AMD weiterhin dabei, aufzuholen.
  • Terascale 3 wechselte von VLIW5 zu VLIW4 und verbesserte so die Auslastung der Ausführungseinheiten bei Compute-Workloads.
  • GCN ersetzte Terascale und legte den Fokus auf konsistente Performance sowohl für GPGPU- als auch für Grafik-Anwendungen.
  • AMD trennte die Entwicklung seiner GPU-Architekturen in die separaten Linien CDNA und RDNA, die jeweils auf Compute bzw. Grafik spezialisiert sind.
  • CDNA 2 brachte AMD beachtlichen Erfolg. Die GPUs MI250X und MI210 gewannen mehrere Supercomputer-Aufträge.
  • CDNA 3 verkleinert den Abstand, indem AMD alles in Stellung bringt, was das Unternehmen zu bieten hat. MI300X demonstriert mit einer ausgefeilten Chiplet-Konfiguration fortschrittliche Packaging-Technologien.
  • Auf der Speicherseite wurde der Infinity Cache der RDNA-Linie in die CDNA-Welt übernommen, um Bandbreitenprobleme zu entschärfen.
  • Die Compute-Architektur von CDNA 3 erhielt wichtige generationenübergreifende Verbesserungen, um Durchsatz und Auslastung zu erhöhen.

GPU-Layout

  • AMD hat eine Tradition darin, Chiplets zu verwenden, um die Kernzahl bei Ryzen- und Epyc-CPUs kostengünstig zu skalieren.
  • MI300X nutzt eine ähnliche Strategie und trennt die Compute-Funktion in sogenannte Accelerator Complex Dies, kurz XCDs.
  • Jedes XCD enthält einen Satz Kerne und einen gemeinsamen Cache. MI300X besitzt insgesamt 8 XCDs und bietet damit 304 Compute Units.
  • Nvidias H100 verfügt über 132 Streaming Multiprocessors (SMs) und präsentiert diese Programmierern als eine einzige große, integrierte GPU.
  • Intels Ponte Vecchio (PVC) bietet mit Compute Tiles und einem Base Tile eine ähnliche Funktionalität, steht als integrierte GPU aber vor Herausforderungen durch die Bandbreitenbegrenzungen der EMIB-Bridges.

Lösung der Bandbreitenprobleme

  • Compute ist dem Speicher seit Jahrzehnten voraus, und GPUs begegnen diesem Problem mit immer ausgefeilteren Caching-Strategien.
  • CDNA 2 nutzte 8 MB L2-Cache und setzte auf HBM2e, doch AMD ergänzte den aus RDNA(2) bekannten „Infinity Cache“.
  • Infinity Cache ist ein speicherseitiger Cache; der gesamte Speicherverkehr läuft durch den Infinity Cache.
  • Der Infinity Cache von CDNA 3 wurde für Bandbreitenoptimierung entwickelt, besteht aus 128 Slices und liefert insgesamt 17,2 TB/s Bandbreite.

Mögliche Herausforderungen bei der Cross-Die-Bandbreite

  • Die Infinity Fabric von MI300X umfasst 4 IO-Dies, von denen jeder mit zwei HBM-Stacks und den zugehörigen Cache-Partitionen verbunden ist.
  • Die Bandbreite der Verbindungen zwischen den Dies könnte es begrenzen, beim Betrieb als einzelne logische GPU die theoretische Bandbreite des Infinity Cache zu erreichen.

Cross-XCD-Kohärenz

  • Beim Infinity Cache muss man sich nicht um Kohärenz kümmern, beim L2-Cache hingegen schon.
  • AMD nutzt die Coherent Masters (CMs) und Coherent Slaves (CS) der Infinity Fabric, um MI300X als eine einzige große GPU sichtbar zu machen.

L2-Cache

  • Jedes MI300X-XCD enthält 4 MB L2-Cache, der als traditioneller GPU-Cache eine wichtige Rolle spielt.

L1-Cache

  • CDNA 3 verdoppelt den Durchsatz des L1-Cache und erhöht seine Kapazität von 16 KB auf 32 KB.

Scheduling und Ausführungseinheiten

  • Durch die komplexe Chiplet-Konfiguration und die angepasste Cache-Hierarchie präsentiert AMD den MI300X als eine einzige GPU.
  • CDNA 3 bringt schrittweise Verbesserungen an der Compute-Unit-Kernarchitektur von CDNA 2, die Probleme bei der Auslastung der FP32-Einheiten hatte.

Matrix-Operationen

  • Matrixmultiplikation wird mit dem Wachstum des Machine Learning immer wichtiger.
  • MI300X verdoppelt den Matrix-Durchsatz pro CU und verbessert damit die Performance im Vergleich zur vorherigen CDNA-Generation.

Befehls-Cache

  • CDNA 3 erhöht die Kapazität des Befehls-Cache auf 64 KB und verdoppelt die Assoziativität von 4-way auf 8-way.

Letzte Worte

  • Die größte generative Veränderung bei CDNA 3 liegt in der Speicherhierarchie, wobei die Ergänzung des Infinity Cache die wichtigste Verbesserung ist.
  • AMD erhöht die Bandbreite zwischen den Dies erheblich, um MI300 zu einem einzigen großen integrierten Beschleuniger zu machen.

Meinung von GN⁺

  • Die CDNA-3-Architektur stellt einen wichtigen Fortschritt dar, der AMDs Wettbewerbsfähigkeit im Bereich GPU-Computing stärkt.
  • Die Einführung des Infinity Cache ist ein innovativer Ansatz zur Lösung von Speicherbandbreitenproblemen, was besonders für High-Performance-Computing-Anwendungen mit großen Datensätzen wichtig ist.
  • AMDs Strategie, den MI300X als einzelne GPU zu präsentieren, kann die Komplexität der Programmierung reduzieren und es Entwicklern ermöglichen, Ressourcen effizienter zu nutzen, wodurch AMDs GPU-Portfolio für einen breiteren Markt attraktiver werden kann.

1 Kommentare

 
GN⁺ 2023-12-19
Hacker-News-Kommentare
  • Ich habe erfahren, dass AMD sich verzweigt hat und mit CDNA und RDNA jeweils spezialisierte GPU-Architekturen für Computing und Grafik entwickelt.

    • Ich verstehe nun, dass AMDs Consumer-Grafikkarten wegen der Architekturunterschiede für Computing-Workloads nicht geeignet sind. Das wirkt wie ein Problem, bei dem es keine Auffahrt zur Autobahn gibt.
  • Ich denke, dass AMD in naher Zukunft nur schwer mit NVidia konkurrieren kann, weil viele Wissenschaftler kostenlose oder vergünstigte GPUs von NVidia erhalten, da sie zentrale Bibliotheken im ML/AI-Bereich entwickeln.

    • Es wird die Meinung geäußert, dass die Art und Weise, wie NVidia in die Wissenschaft eindringt, unethisch sei.
  • Ich habe zum ersten Mal von VLIW (Very Long Instruction Word) gehört.

    • VLIW bezeichnet eine Befehlssatzarchitektur, die darauf ausgelegt ist, Parallelität auf Instruktionsebene zu nutzen. Während herkömmliche CPUs die Ausführung von Befehlen nur sequentiell erlauben, können VLIW-Prozessoren parallele Ausführung explizit festlegen. Die Absicht dahinter ist, höhere Leistung ohne die Komplexität anderer Designs zu bieten.
  • Es wird eine eigene Meinung zu der Vorhersage geäußert, dass AMD mithilfe seines Wissens über Chiplets und Bus-Fabrics im AI-Bereich ein Comeback schaffen werde.

    • Es wird eingeräumt, den betreffenden Artikel oder generell solche Texte nicht mit Selbstvertrauen lesen zu können, man wollte lediglich die eigene Sichtweise äußern.
  • Es wird die Frage aufgeworfen, wann das Wort "compute" begann, als Substantiv verwendet zu werden.

    • Es wird Unbehagen über die substantivische Verwendung des Wortes "compute" ausgedrückt.
  • Seit Jahrzehnten überholt Compute den Speicher. Wie bei CPUs reagieren auch GPUs darauf mit immer ausgefeilteren Caching-Strategien.

    • Anders als CPUs versuchen GPUs nicht, direkt gegenzusteuern, sondern akzeptieren die hohe Latenz und parallelisieren dafür viel breiter, wodurch ein Effekt des „Verbergens von Latenz“ entsteht. Das könnte als Beispiel in einer Präsentation zur Optimierung von GPU-Code dienen.