Optimisation de la multiplication de matrices de bytes avec AVX-VNNI
2025-01-10
Cet article explore l'optimisation de la multiplication de matrices de bytes en utilisant le jeu d'instructions AVX-VNNI. L'auteur commence par une implémentation naïve, puis utilise les bibliothèques gemmology et xsimd pour créer des versions optimisées utilisant la transposition et une disposition personnalisée. Les résultats des benchmarks montrent que la disposition personnalisée atteint les meilleures performances, en tirant parti de l'instruction vpdpbusd pour des gains d'efficacité significatifs. L'article approfondit les détails de l'implémentation de la fonction maddw de la bibliothèque gemmology et ses variations architecturales.