Con la llegada de la exitosa microarquitectura «Zen», AMD eliminó el soporte para el conjunto de instrucciones FMA4, al menos sobre el papel. Level1Techs descubrió que las CPU basadas en Zen son compatibles con las instrucciones FMA4, solo que el conjunto de instrucciones no está expuesto al sistema operativo.
La arquitectura Zen sí que es realmente compatible con FMA4
FMA es una forma eficiente de calcular el álgebra lineal. FMA3 y FMA4 no son generaciones del conjunto de instrucciones, sino que el dígito denota el número de operandos por instrucción. AMD introdujo el soporte a FMA3 en 2012 con sus procesadores de la serie FX, mientras que Intel agregó soporte para FMA3 en 2013 con Haswell. Las razones exactas por las que AMD desactivo FMA4 con»Zen son desconocidas, pero algunos desarrolladores especulan que es porque la implementación de FMA4 por parte de AMD es defectuosa, aunque es más eficiente con un 33% más de rendimiento. La adopción de FMA3 por parte de Intel lo hizo más popular y, por lo tanto, más estable a lo largo de los años.
Te recomendamos la lectura de nuestro post sobre AMD Ryzen 7 2700X Review en Español
Level1Techs utilizó un programa de prueba OpenBLAS FMA4 para confirmar que la alimentación de los procesadores Zen con instrucciones FMA4, no solo devolverá un error de «instrucción ilegal», sino que también el procesador seguirá adelante y completará la operación. Esto es interesante porque FMA4 no está expuesto como un bit CPUID, y el sistema operativo no tiene idea de que el procesador sea compatible con la instrucción. Para álgebra lineal, FMA4 ha demostrado ser más eficiente que AVX en precisión simple y doble.
[irp]Estaremos atentos a la aparición de nueva información sobre la decisión de AMD de desactivar el soporte para FMA4 en los procesadores basados en Zen, seguro que tuvieron sus razones. ¿Qué piensas de esta decisión de AMD?