🟢 🔧 Hardware Veröffentlicht: · 3 Min. Lesezeit ·

AMD: Gluon Block-Level-Modell ermöglicht GEMM-Kernels mit 5,255 TFLOPS MXFP4 auf Instinct MI355

Editorial-Illustration: GPU-Beschleuniger mit Matrix-Einheit-Layout und Pipeline-Flüssen

Das AMD ROCm-Team veröffentlichte ein Tutorial zum Schreiben hochperformanter GEMM-Kernels im Gluon-Programmiermodell auf dem MI355-GPU. Ein optimierter FP16-Kernel erreicht 1,489 TFLOPS bei 98,75 Prozent MFMA-Effizienz; Erweiterungen auf BF8 (3,257 TFLOPS) und MXFP4 (5,255 TFLOPS) belegen die Relevanz für moderne KI-Workloads. Das Tutorial umfasst Workgroup-Remapping und Swizzle, das L2-Cache-Misses von 5,3 Mio. auf 4,1 Mio. reduziert.

🤖

Dieser Artikel wurde mithilfe von künstlicher Intelligenz aus Primärquellen erstellt.

Das AMD ROCm-Blog-Team veröffentlichte am 22. Mai 2026 ein detailliertes Tutorial zum Schreiben hochperformanter GEMM-Kernels (General Matrix Multiplication) im Gluon-Programmiermodell für den AMD Instinct MI355 GPU. Das Tutorial dokumentiert das Erreichen von 98,75 Prozent MFMA-Effizienz für FP16-GEMM (1,489 TFLOPS) sowie Erweiterungen auf moderne Niedrigpräzisionsformate: BF8 mit 3,257 TFLOPS und MXFP4 mit 5,255 TFLOPS.

Was ist Gluon und wie unterscheidet es sich von HIP?

Gluon ist AMDs Block-Level-Programmiermodell für GPU-Kernel-Entwicklung auf CDNA- und RDNA-Architekturen. Die Syntax ist vom CUDA Tile API und ähnlichen Triton-Block-Level-Abstraktionen inspiriert, zielt aber auf CDNA-Hardware-Spezifika ab — MFMA-Matrixmultiplikationseinheiten, Multi-XCD-Chiplet-Topologien und L2-Cache-Strukturen.

Der Unterschied zu einem Standard-HIP-Programm: HIP bietet eine C++-ähnliche CUDA-äquivalente API, bei der der Compiler Kernels optimiert. Gluon verlangt vom Entwickler explizit, Tensor-Layouts, Pipeline-Stages, Register-Budget pro Thread-Block und Swizzle-Muster für Speicherzugriffe anzugeben. Das ist mehr Arbeit, bietet aber feinere Kontrolle — entscheidend für 95+ Prozent MFMA-Effizienz, die über Standard-HIP-Optimierungen nicht erreichbar ist.

Gluon ist Open-Source-Teil des ROCm-Ökosystems, verfügbar im rocm-developer-tools-Paket seit ROCm 7.0 (Januar 2026).

Wie erreicht der optimierte FP16-Kernel 1,489 TFLOPS?

Der MI355 ist AMDs neuester Rechenzentrum-GPU der CDNA-4-Generation mit 8-XCD-Chiplet-Topologie. Der theoretische Peak-FP16-Throughput beträgt ca. 1,508 TFLOPS. Das Tutorial zeigt die Schritte zu 1,489 TFLOPS (98,75 Prozent des Theoretischen):

  1. Block-Level-Tiling: Tensoren A (M × K) und B (K × N) werden in Blöcke der Größe 128×128 partitioniert, entsprechend der MFMA-Instruktionsgranularität.
  2. Pipeline-Stages: Compute (MFMA-Instruktion) und Memory-Loading (LDS in Register) werden durch eine 4-Stage-Pipeline verschränkt, um Speicherlatenz zu verbergen.
  3. Register-Budgeting: Der Entwickler begrenzt explizit die Registeranzahl pro Thread-Block (256 SGPR + 1024 VGPR), um Register-Spilling in L1 zu vermeiden.
  4. MFMA-Instruktionsauswahl: Das Tutorial verwendet mfma_f32_16x16x16f16, die ein 16×16-Produktblock in einem Takt berechnet.

Mit diesen Optimierungen erreicht der Kernel 1,489 TFLOPS für 8192×8192×8192-GEMM — ca. 3× schneller als eine naive HIP-Implementierung (520 TFLOPS).

Was liefern BF8- und MXFP4-Erweiterungen?

BF8 (BFloat8) ist ein 8-Bit-Gleitkommaformat für LLM-Training. MI355 unterstützt BF8-GEMM nativ via mfma_f32_16x16x32bf8. Der Kernel erreicht 3,257 TFLOPS BF8-Durchsatz, geeignet für das Vortraining großer Sprachmodelle.

MXFP4 (Microscaling FP4) ist ein noch aggressiveres 4-Bit-Format mit geteiltem Exponenten pro Wertegruppe (typisch 32 Elemente). Es reduziert die Speicherbandbreite um 4× gegenüber FP16. MI355 unterstützt MXFP4-GEMM via mfma_f32_16x16x64mxfp4. Der Kernel erreicht 5,255 TFLOPS MXFP4-Durchsatz, relevant für Inferenz-Deployment von Frontier-Modellen auf MI355.

Was bewirken Workgroup-Remapping und Swizzle?

Die CDNA-4-Architektur hat 8 XCD-Chiplets, die L2-Cache teilen, aber jedes mit eigenem L1. Standardmäßiges lineares Workgroup-Mapping führt zu Cache-Thrashing. Das Tutorial führt Workgroup-Remapping ein: Die Workgroup-ID wird über eine raumfüllende Kurve transformiert, sodass benachbarte Workgroups auf benachbarte L2-Cache-Regionen abbilden. Dazu kommt ein Swizzle-Muster, das Zugriffe gleichmäßig über HBM-Kanäle verteilt. Ergebnis: L2-Misses sinken von 5,3 Mio. auf 4,1 Mio. (−23 Prozent), was +6 Prozent Durchsatz für speicherbegrenzte GEMM-Regionen bedeutet.

Was ist das absichtlich regressive Beispiel im Tutorial?

Das Tutorial enthält ein diagnostisches Beispiel mit falschem Register-Budgeting — ein Kernel, der naiv schneller sein sollte, aber tatsächlich auf 73 Prozent Durchsatz abfällt (FP16 384 TFLOPS statt 1,489). Ursache: Register-Spilling bei zu vielen Registern pro Thread-Block. Ziel ist es, Entwicklern beizubringen, wie Register-Spilling erkannt und über rocprof-Profiling diagnostiziert wird.

Häufig gestellte Fragen

Was ist das Gluon-Programmiermodell?
Gluon ist AMDs Block-Level-Programmiermodell für GPU-Kernel-Entwicklung, das Entwicklern explizite Kontrolle über Layouts, Pipeline-Stages und Register-Budgeting bietet. Im Gegensatz zu HIP steuert der Entwickler Details, die der HIP-Compiler normalerweise verbirgt, was höhere Leistung bei größerem Entwicklungsaufwand ermöglicht.
Was bedeuten 98,75 Prozent MFMA-Effizienz?
MFMA (Matrix Fused Multiply-Add) ist eine Hardware-Instruktion auf AMDs CDNA-Architektur für Matrixmultiplikation. 98,75 Prozent Effizienz bedeutet, dass der Kernel 98,75 Prozent des theoretischen Peak-Throughputs der MFMA-Einheiten nutzt — sehr nahe am Hardware-Limit.
Was ist MXFP4 und warum ist es relevant?
MXFP4 (Microscaling FP4) ist ein 4-Bit-Gleitkommaformat mit geteiltem Exponenten pro Wertegruppe. Es reduziert die Speicherbandbreite um 4× gegenüber FP16 bei akzeptabler Qualität für LLM-Inferenz. AMD MI355 unterstützt MXFP4 nativ in Hardware über MFMA-Instruktionen.