Optimizando la multiplicación de matrices de bytes con AVX-VNNI

2025-01-10
Optimizando la multiplicación de matrices de bytes con AVX-VNNI

Este artículo explora la optimización de la multiplicación de matrices de bytes utilizando el conjunto de instrucciones AVX-VNNI. El autor comienza con una implementación ingenua, luego utiliza las bibliotecas gemmology y xsimd para crear versiones optimizadas empleando transposición y un diseño personalizado. Los resultados de referencia muestran que el diseño personalizado logra el mejor rendimiento, aprovechando la instrucción vpdpbusd para obtener ganancias significativas de eficiencia. El artículo profundiza en los detalles de implementación de la función maddw de la biblioteca gemmology y sus variaciones arquitectónicas.