Слитное умножение, сложение или умножение-накопление

Операция Fused Multiply Add (также известная как Multiply Accumulate) - это когда умножение, за которым следует сложение или вычитание, выполняется за одну операцию только с одним округлением в конце.

Например:

x = a * b + c

Обычно выполняется с использованием двух округлений без Fused-Multiply Add. (один послеa * b и один после a * b + c)

Fused Multiply Add объединяет две операции в одну, тем самым повышая точность вычисляемого результата.

Поддерживаемые архитектуры включают:

  • PowerPC
  • Intel x86 (через набор инструкций FMA3)
  • AMD x86 (через набор инструкций FMA4)