Otimizando a Multiplicação de Matrizes de Bytes com AVX-VNNI

2025-01-10
Otimizando a Multiplicação de Matrizes de Bytes com AVX-VNNI

Este artigo explora a otimização da multiplicação de matrizes de bytes usando o conjunto de instruções AVX-VNNI. O autor começa com uma implementação ingênua, depois usa as bibliotecas gemmology e xsimd para criar versões otimizadas empregando transposição e um layout personalizado. Os resultados de benchmark mostram que o layout personalizado atinge o melhor desempenho, aproveitando a instrução vpdpbusd para ganhos significativos de eficiência. O artigo se aprofunda nos detalhes de implementação da função maddw da biblioteca gemmology e suas variações arquitetônicas.

Desenvolvimento Multiplicação de Matrizes