メモリ転送などの他のすべての問題を無視します。浮動小数点乗算と加算の計算コストはいくらですか?
私はビットフリップの予想数として数量化すると思いますが、コストのいくつかの尺度を探しています。 (32ビットと言う)の数と、追加するコストとの比です。
私は、考慮すべき価値があるかもしれないいくつかの重要な問題(数字に同じ指数などがあるかどうかなど)があるかもしれないと思います。
編集:ハードウェアの時間や量ではなく、これらの操作を実行するのに必要なエネルギーの量に関心があります。「ビットフリップの予想数」が関心の量です。私はこれは明確に定義された質問だと思います。浮動小数点の乗算を行うためには、あるアルゴリズムで必要となる「予想されるビットフリップ数」があります。そして、私はすべてのアルゴリズムの最小値を探しています。
編集2:お返事いただきありがとうございます。私が得た最も関連性の高い回答は、Mark Horowitz's estimates(33ページ参照)というnjuffaの回答でした。ホロヴィッツの記事、わずかに異なる番号でmore up-to-date paperは、それは次のようになります。最新のプロセッサ上で
Float32 Mult: 3.7pJ.
Float32 Add: 0.9pJ
Int32 Mult: 3.1pJ
Int32 Add: 0.1pJ
ハードウェアのALU実装と、無限の複雑さの「無限の」シリコンリソースなど、より具体的にする必要があると思います。浮動小数点がFPGA上でどのように実装されているかについてのリソースを探すことができます。それはおそらく良い出発点です。しかし、そうであるように、この質問はおそらく範囲が少し広すぎるでしょう。 –
私は時間/空間の複雑さを見ていればこれらがどのように関係するかを見ていますが、単純にアルゴリズムを実行するのに必要なビットフリップの量を測定しているとすれば、そこには明確な数字があると思います。 – Peter
加算と乗算の相対的なエネルギー消費は、オペランドのビット幅に依存します。 32ビットの浮動小数点演算では、スタンフォードのMark Horowitz [数を与える](https://www.futurearchs.org/sites/default/files/horowitz-ComputingEnergyISSCC.pdf)は、0.9 pJと4 pJ乗算(45nmプロセスの時代遅れですが、現代の14nmプロセスではまだ一般的な関係が成り立っていると思います)。 – njuffa