ホストとデバイス(GPU arch sm_13)で浮動小数点演算を実行すると、値は異なりますか?NVIDIA GPUのIEEE-754規格(sm_13)
答えて
NVIDIAのwhitepaperでは、これに関する良い説明があります。基本的に:
- IEEE-754は、現在のほとんどすべてによって実装されています。
- でも、この規格の忠実な履行の間、あなたはまだあなたのコンパイラで結果に差(有名な、Intelの倍精度80ビットの内部でやって)、または高最適化の設定が結果に
- 計算能力を2.0以降を変更することができます見ることができますNVIDIAカードが
- いくつかの丸めモードは、いくつかの操作でサポートされていないだけで、非常に小さな点に注意して、両方の単精度および倍精度でIEEE-754をサポート - あなたが明示的にコード内で丸めモードを変更する場合にのみ関連してあります
- 融合した乗算と加算を含むいくつかの微妙なこと
- CUDAも提供して(少し)低精度が、いくつかの操作の高速化の実装、そしてもちろん、あなたがそれらの明示的または暗黙的に(コンパイラオプション付き)あなたが自然に取得することはありません完全なIEEE-754の結果
- 計算機能を使用する場合1.3カードは上記のように倍精度では単精度ではなくieee-754をサポートします。 (単精度は非正規化をサポートしていません - 例えば、非常に小さい数、FMA、平方根および除算は完全に正確ではありません)
- 計算機能1.2カードは単精度のみを持ち、これらはieee-754 。
IEEE754規格にもかかわらず、CPUとGPUで計算される浮動小数点値は、(a)ハードウェアの最適化、 Intels 80-bit method(b)コンパイラの最適化など、なぜそれを標準と呼びますか? – Abhinav
@Abhinav:ストレージルール、フォーマット、丸めルール、操作、交換フォーマットおよび例外を定義するため、標準です。それは(どのバージョンに応じて)再現性基準も定義しています。しかしすべてには公差があります。つまり、浮動小数点は、プラットフォームに準拠しているすべてのプラットフォームで*同じ方法で動作します。結果がビット単位で一致することを意味するものではありません。 – talonmies
@Abhinav:IEEE754が以前よりずっと悪くなっていた前に、私を信頼してください。 –
- 1. C#パフォーマンスカウンターヘルプ、Nvidia GPU
- 2. Nvidia GPUのバッファサイズが均一
- 3. GPUへのNvidia GPUDirectとカメラキャプチャ
- 4. nVidia CUDA with GPU with PCI interface
- 5. Theano [NVidia GeForce 8800GT]のGPU互換性
- 6. ffmpeg 3.2.0で複数のNVIDIA GPUからgpuを選ぶには?
- 7. CUDA nvidia Fermi GPUシステム用Visual Studio 2017インテグレーション
- 8. nVIDIA GPUは特別なレジスタからメモリに格納できますか?
- 9. - のNvidia GPUとVIRTUALENVのtensorflow:CUDA-9.0-VS-CUDA-8.0、cuDNN-7.0-VS-cuDNN-6.0
- 10. NVIDIA GPUで命令レベルの並列処理(ILP)とアウトオブオーダー実行
- 11. nVidia GPUはclEnqueueWriteImageのために1000を返します
- 12. 専用のNvidia GPUはOpenGLを描画しません
- 13. nvidia-smi揮発性GPU - 利用の説明?
- 14. nvidia-dockerでのGPU使用を制限しますか?
- 15. Ethminer Ubuntu 16 NVIDIA GPUを使用していない
- 16. NVIDIA GPUを使用してWindows上でOpenCLアプリケーションをプロファイリング
- 17. Windows 10でnVIDIA 320M GPUを使用したGUIレンダリング
- 18. "-arch sm_13"と "-arch sm_20"の違い
- 19. UbuntuでプロセスのGPUメモリ使用量を最大限にする方法は? (Nvidia GPU用)
- 20. nvidia gpuはPC上で唯一のgpuであると効率が低下しますか?
- 21. GPU使用率を測定するためのnvidia-smiの代わりに?
- 22. MXNetはマルチGPU通信にNvidiaのNCCLライブラリを使用しましたか?
- 23. NVIDIA-smiが未使用時にGPUの使用率を表示します
- 24. clGetDeviceIDs(-32)。 Nvidia GRID GPU(Kepler GK104)を使用したec2インスタンスのOpenCLエラー
- 25. iPhone大規模なGPUでの乗算
- 26. C#IEEE754から十進数
- 27. Ubuntu 16.04、Nvidiaツールキット8.0 RC、ダークネットコンパイルエラー: ";"
- 28. NVIDIAビジュアル・プロファイラ:NVIDIAビジュアルプロファイラ上の単純なアプリケーションを実行--openaccプロファイリング
- 29. --disable-gpu-vsyncはNVIDIA GTX 960でクロムで動作しませんか?
- 30. 物理的なNVidia GPUカードを持たない仮想マシンでCUDAを実行
GT200ファミリーのGPUは、IEEE-754単精度演算をサポートしていませんでした。しかし、たとえそうであったとしても、その答えはおそらくはいでしょう。結果は異なるかもしれません。 – talonmies
@talonmies私は私のクエリ[here](http://stackoverflow.com/q/10335782/842808)を改訂しました。親切に見てみましょう。 ありがとう – Abhinav