Optimierung der Byte-Matrix-Multiplikation mit AVX-VNNI

2025-01-10
Optimierung der Byte-Matrix-Multiplikation mit AVX-VNNI

Dieser Artikel untersucht die Optimierung der Byte-Matrix-Multiplikation unter Verwendung des AVX-VNNI-Befehlssatzes. Der Autor beginnt mit einer naiven Implementierung und verwendet dann die Bibliotheken gemmology und xsimd, um optimierte Versionen zu erstellen, die Transposition und ein benutzerdefiniertes Layout verwenden. Die Benchmark-Ergebnisse zeigen, dass das benutzerdefinierte Layout die beste Leistung erzielt und die vpdpbusd-Instruktion für signifikante Effizienzsteigerungen nutzt. Der Artikel geht detailliert auf die Implementierung der maddw-Funktion der gemmology-Bibliothek und deren architekturelle Variationen ein.

Entwicklung Matrixmultiplikation