FMA演算
2024年3月6日 (水) 05:06時点におけるAdministrator (トーク | 投稿記録)による版
FMA演算(Fused Multiply-Add)とは、積と和が合体した演算です。
数式で表すと x * y + z
となります。この数式は「行列の乗算」や「ベクトルの内積」でよく使われます。行列とベクトルといえばSIMD演算の効果が絶大なので昨今のCPUのSIMD命令やGPUでは「FMA演算をSIMD実行できる機能(1命令で複数データにFMA演算を行う機能)」が定番機能となっています。
このFMA演算をCPUやGPUにおいて1命令で行うことで途中の積算を丸めずに積和演算を最終演算結果の誤差を小さくする工夫が考案されており、IEEE 754規格の2008年改訂版で標準化されています。これに準拠したCPUやGPUでの挙動は常に一定となります。