Geforce カードの倍精度のパフォーマンスが Tesla カードの 4 倍遅いのはなぜですか?

Geforce カードの倍精度のパフォーマンスが Tesla カードの 4 倍遅いのはなぜですか?

このことはいろいろなところで言及されているのを見ました。Wikipedia より:

同等の単精度出力の場合、Fermi ベースの nVidia Geforce カードは、Tesla カードに比べて 4 倍の倍精度パフォーマンスを発揮します。

「乗数」に関する漠然とした説明を聞いたことがあります。同等の Geforce ダイで物理的に無効になっている何かが関係しているのでしょうか?

答え1

これは、ハードウェアで実装された倍精度演算を持つことと、4 つの単精度演算として倍精度演算を実行する必要があることの違いです。

たとえば、「16」と「43」を掛けることを考えてみましょう。ネイティブの 2 桁の乗数があれば、1 回の演算で実行できます。1 桁の乗数しかない場合は、1 を 4、1 を 3、6 を 4、6 を 3 と掛ける必要があります。次のようになります。

   16
 X 43
 ----
   18 (6*3)
   3  (3*1)
  24  (4*6)
  4   (4*1)
-----
  688

行う必要があることに注意してください42 桁の乗算を 1 回行うには 1 桁の乗算が 2 回必要となるため、4 倍の時間がかかります。つまり、倍精度乗算器がなく、単精度乗算器しかない場合、倍精度乗算を実行するのに 4 倍の時間がかかります。

関連情報