Un estudio técnico explora de forma sistemática la optimización de la multiplicación de matrices en precisión simple (FP32) sobre un AMD Ryzen 5 5500, basado en la microarquitectura Zen 3. El trabajo evalúa 28 configuraciones distintas que combinan técnicas de bajo nivel: bloqueo de caché en tres niveles (L1, L2, L3), bloqueo de registros con 2, 4 y 8 líneas, encadenamiento de instrucciones FMA de 1 a 6 operaciones, estrategias de empaquetado de la matriz B con y sin transposición, alineación de memoria a 32 bytes, prefetch por software y stores no temporales.
La mejor implementación, bautizada como MX24, alcanzó 85,30 GFLOPS sostenidos, lo que equivale al 63,5 % del techo teórico de 134,4 GFLOPS calculado a partir de las dos puertos FMA del procesador, su capacidad de 8 floats por instrucción y una frecuencia de 4,2 GHz. Esta versión utiliza bloqueo de 4 líneas, encadenamiento chain4 y empaquetado de B en bloques de 256 (BK=256). Supera por 56,5 veces a una implementación naive y rinde al nivel de bibliotecas profesionales como AMD AOCL y OpenBLAS.
El repositorio incluye el código fuente en C con intrínsecos de AVX2/FMA, un artículo científico en LaTeX y los registros de benchmark. Los tres modelos mejor posicionados producen resultados bit-idénticos a la referencia, mientras que el resto se mantiene dentro de márgenes de error típicos del coma flotante. El proyecto está publicado bajo licencia MIT y sirve como guía práctica para quienes buscan extraer el máximo rendimiento de la jerarquía de memoria y las unidades SIMD en arquitecturas x86 modernas.
