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
Hacker-News-Kommentare