Zum Hauptinhalt Zur Navigation Zur Suche

AI Compute Extension: AMD und Intel stellen x86-Matrixerweiterung vor

Ace erinnert an Intels AMX, kann aber flexibler implementiert werden. Es soll die Standardmatrixerweiterung für x86-CPUs werden.
/ Johannes Hiltscher
1 Kommentare Auf Google folgen (öffnet im neuen Fenster)
Die Sapphire-Rapids-CPU ist in vier Tiles zerlegt - wie die Matrizen bei Ace. (Bild: Intel)
Die Sapphire-Rapids-CPU ist in vier Tiles zerlegt - wie die Matrizen bei Ace. Bild: Intel

Über die x86 Ecosystem Advisory Group(öffnet im neuen Fenster) wollen AMD und Intel gemeinsam das x86-Ökosystem weiterentwickeln. Nachdem es etwa mit AVX oder der 64-Bit-Erweiterung schon lange gegenseitige Übernahmen gab, planen die beiden Unternehmen hier zusammen die Zukunft des Standards. Nach dem im Oktober 2025 vorgestellen Chktag(öffnet im neuen Fenster) folgt mit Ace die zweite Erweiterung.

Das Kürzel steht für AI Compute Extension und definiert eine Matrixerweiterung. Fertig ist Ace noch nicht, das veröffentlichte Whitepaper (PDF)(öffnet im neuen Fenster) setzt aber schon einmal den Rahmen. Wie der Name vermuten lässt, ist Ace auf KI ausgelegt, wo die Verknüpfungsstärke zwischen künstlichen Neuronen über große Matrizen dargestellt wird.

Entsprechend werden ausschließlich KI-typische Datentypen mit 8 und 16 Bit unterstützt: Neben 8-Bit-Ganzzahlen (Int8) Brainfloat 16 (BF16) sowie die 8-Bit-Gleitkomma- und Ganzzahltypen des Open Compute Project inklusive der Microscaling-Varianten mit blockbasiertem Skalierwert (OCP FP8, MXFP8, MXINT8). Für MXFP4 und MXFP6 sind Konvertierungsbefehle vorgesehen.

Definiert ist die Erweiterung über das äußere Produkt. Dabei werden zwei Matrizen in kleinere Blöcke zerlegt, diese werden multipliziert und die Teilergebnisse aufsummiert.

Ace braucht wenig extra Hardware

Dies ist mit geringem Aufwand als Erweiterung bestehender SIMD-Einheiten (Single Instruction, Multiple Data) möglich: Die einzelnen Lanes der SIMD-Einheit werden summiert, das Ergebnis gegebenenfalls mit einem Skalierungsfaktor multipliziert und in 32-Bit-Akkumulatorregistern die einzelnen Elemente der Ergebnismatrix aufsummiert.

Ace ist dabei als Erweiterung von AVX10 ausgelegt. Entsprechend soll die Blockgröße 16 x 4 8-Bit-Werte betragen – was einem 512-Bit-Register entspricht. Daher dürfte Ace auch als Erweiterung von AVX10-Einheiten implementiert werden.

Die eigentliche Neuerung von Ace sind acht 1 kByte große sogenannte Tile-Register. Sie nehmen die Ergebniswerte auf, weshalb Matrixmultiplikationen mit wesentlich weniger Befehlen umgesetzt werden können. Zudem sollen in Register geladene Daten öfter wiederverwendet werden können, was eine höhere Leistung ermöglicht. Kleinere Modelle kann damit die CPU teils effizienter ausführen als eine NPU oder GPU, da Kommunikationsaufwand entfällt.

Ace vereint VNNI und AMX

Ace weist große Ähnlichkeiten mit sowohl den Vector Neural Network Instructions (VNNI) als auch AMX auf, das Intel mit der fünften Xeon-Generation (Sapphire Rapids) eingeführt hatte (g+). Implementiert ist die Erweiterung(öffnet im neuen Fenster) über eigene 2.048 Bit breite Recheneinheiten, zudem gibt es die auch bei Ace vorgesehenen acht zusätzlichen 1-kByte-Register. Dies ist zwar die leistungsfähigste Lösung, erfordert aber viel zusätzliche Siliziumfläche, weshalb Intel es den Server-CPUs vorbehält.

Aktuell arbeiten AMD und Intel laut Whitepaper bereits an der Integration von Ace in Compiler. Wann der Standard erstmals in CPUs auftaucht, steht noch nicht fest. Unklar ist auch, ob alle CPUs Ace bekommen. Andere Architekturen sind hier auch bereits weiter: ARMs Scalable Matrix Extension (SME) umfasst vergleichbare Befehle seit Jahren.


Relevante Themen