積和演算

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

積和演算 (せきわえんざん)は、演算のひとつで、を求める、つまり乗算の結果を順次加算する演算である。乗累算 (じょうるいざん) とも言う。MAD/MADD (multiply-add) [1] [2]もしくは MAC/MACC (multiply-accumulate) と呼ばれることもある。演算式は以下のように表される。

デジタル信号処理において非常に多く使用される演算で、デジタルシグナルプロセッサでは積和算命令を1クロックで実行できる[3]専用の演算回路を持つ。[要出典]。また、1秒間にこの積和演算を何回実行できるか、がプロセッサの性能指標として使われることもある[4]

なお、和ではなくを用いる場合は、積差演算と呼ばれる。

融合積和演算[編集]

積和の演算式において、途中の積算の演算結果を単精度浮動小数点数倍精度浮動小数点数の値としていったん丸めてしまうと、最終演算結果に大きな誤差が発生する。途中の積算を丸めず、積和演算を1命令で行なってしまうことで、最終演算結果の誤差を小さくするのが融合積和演算 (fused multiply-add, FMA/FMAD) である[5]。FMAはIEEE 754規格の2008年改訂版 (IEEE 754-2008) で標準化されている。

Intelプロセッサの拡張命令であるIntel AVX2命令セットでは、このFMA命令が実装されている[6] [7]

なおCPUやDSPに限らず、NVIDIA GPUAMD GPUでもFMA命令がサポートされている[8] [9] [10] [11]

脚注[編集]

[ヘルプ]
  1. ^ 【後藤弘茂のWeekly海外ニュース】HaswellのGPUコア「Iris」はなぜ強力なのか - PC Watch
  2. ^ 科学技術計算向け演算能力が引き上げられたGPUアーキテクチャ「Fermi」 (2) 科学技術計算向けのさまざまな工夫 | マイナビニュース
  3. ^ 日本テキサス・インスツルメンツ (2012-06-29). “イチから学ぶDSP基礎の基礎(2):専用プロセッサとしてのDSPの特徴 (1-3)”. EDN Japan. http://ednjapan.com/edn/articles/1206/29/news110.html. 
  4. ^ 2013年のプロセッサのFLOPS値計算方法 - トータル・ディスクロージャ・サイト(事実をありのままに)
  5. ^ HPC性能が大幅に強化されたHaswell(前編) -各コアに256bit長のFMAを2個装備 | マイナビニュース
  6. ^ 概要: インテル® Advanced Vector Extensions (インテル® AVX) 命令の組み込み関数
  7. ^ インテル® Advanced Vector Extensions (インテル® AVX) 組み込み関数と FMA (Fused Multiply-Add) 組み込み関数の詳細
  8. ^ 後藤弘茂のWeekly海外ニュース: GeForce GTX 280の倍精度浮動小数点演算
  9. ^ 4Gamer.net ― AMD,世界初のDX11 GPU「ATI Radeon HD 5800」を発表。HD 4800の大幅な進化形
  10. ^ 科学技術計算向け演算能力が引き上げられたGPUアーキテクチャ「Fermi」 (2) 科学技術計算向けのさまざまな工夫 | マイナビニュース
  11. ^ GTC 2014 - GPUの浮動小数点演算の精度:理論と実践(前編) | マイナビニュース