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