倍精度が tesla gpu にハードウェアでどのように実装されているかという情報を探しています。2 つのストリーム プロセッサが単一の double 値で動作していることを読みましたが、nvidia からの公式の論文は見つかりませんでした。
前もって感謝します。PPS なぜほとんどの GPU は単精度のみで計算するのですか (色は RR.GG.BB.TT として格納できるため、各文字は 8 ビット値です)。
PS google it for meは役に立ちませんでした
倍精度が tesla gpu にハードウェアでどのように実装されているかという情報を探しています。2 つのストリーム プロセッサが単一の double 値で動作していることを読みましたが、nvidia からの公式の論文は見つかりませんでした。
前もって感謝します。PPS なぜほとんどの GPU は単精度のみで計算するのですか (色は RR.GG.BB.TT として格納できるため、各文字は 8 ビット値です)。
PS google it for meは役に立ちませんでした
double をサポートしていないことは、あなたが言ったようなストレージ形式 (RR.GG.BB.TT) の問題ではありませんが、double の操作 (add、mul、madd など) を処理するためのネイティブ組み込み関数 (および専用ハードウェア) を持っています。
とにかく、ほとんどの GPU は単精度のみをサポートします。これは、GPU 市場のほとんどがゲーム市場にあり、ゲーマーが倍精度を必要としないためです。また、ほとんどのゲーマーは、優れたパフォーマンスと価格の比率を求めています。DP の実装は、トランジスタの予算 (および TDP) の点でコストがかかります。ゲームが倍精度を使用しない場合、これは無意味です。
これが、ハイエンドの ATI GPU が double (HD 59xx および HD 58xx をサポートしているが、HD 57xx 以下などのミッドおよびエントリー レベルの GPU をサポートしていない) をサポートしている理由です。
@karlphillip: そうです、GTX 260 のような GPU には IEEE754 (一種) を使用しますが、現在の ATI および NVIDIA 世代はハイエンド パーツでIEEE 754-2008をサポートしています。
ハードウェアの実装について、これは IHV が通常教えない秘密です:)
Tesla は GPU ではなく、さまざまなハイエンド GPU を搭載した一連のコプロセッサです。Tesla に Fermi GPU が内蔵されている場合、倍精度のパフォーマンスが優れているはずです。
Fermi ホワイト ペーパーの 9 ページを参照してください。
通常の GPU コンピューティングでは単精度がより重要になります。そのようなアプリケーションでは単精度で十分だからです。
ウィキによると:
倍精度 (GTX 260[12] などの新しい GPU でのみサポート) の場合、IEEE 754 標準からの逸脱がいくつかあります。逆数、除算、および平方根でサポートされている唯一の丸めモードは、最近接偶数への丸めです。単精度では、デノーマルとシグナリング NaN はサポートされていません。2 つの IEEE 丸めモード (chop と最も近い偶数への丸め) のみがサポートされ、これらは制御ワードではなく命令ごとに指定されます。除算/平方根の精度は、単精度よりわずかに低くなります。
ほら、彼らはIEEE 754の仕様のほとんどを実装していますが、実際の実装はおそらく非公開で秘密です。