Optimizando la multiplicación de matrices de bytes con AVX-VNNI
2025-01-10
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.
Desarrollo
Multiplicación de Matrices