AMD eliminó el soporte para el conjunto de instrucciones FMA4 en la arquitectura Zen
AMD con su arquitectura Zen eliminó el soporte para el conjunto de instrucciones FMA4, en papel. Esto, mientras se retiene FMA3. Level1Techs descubrió que las CPU "Zen" son compatibles con las instrucciones FMA4, incluso a través del conjunto de instrucciones no está expuesto al sistema operativo.
FMA también llamado "fused multiply add", es una forma eficiente de realizar operaciones que requieran el álgebra lineal. FMA3 y FMA4 no son generaciones del conjunto de instrucciones (a diferencia de SSE3 y SSE4), sino que el dígito denota el número de operandos por instrucción.
AMD introdujo el soporte para ambos en 2012 con sus procesadores de la serie FX, mientras que Intel agregó soporte para FMA3 en 2013 con "Ivy Bridge".
Las razones exactas por las que AMD desaprobó e uso de FMA4 con "Zen" son desconocidas, pero algunos desarrolladores especulan que es porque la implementación de FMA4 por parte de AMD es la mejor, aunque es más eficiente (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.
Level1Techs utilizó un programa de prueba OpenBLAS FMA4 para confirmar que estaban mandando a los procesadores "Zen" instrucciones FMA4 y estos procesadores no solo devolverán un error de "illegal instruction", 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 si el procesador es o no compatible con la instrucción que le esta mandando.
Para álgebra lineal, FMA4 ha demostrado ser más eficiente que AVX en precisión simple y doble.