ホストとデバイス(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 CUDA with GPU with PCI interface
- 3. Theano [NVidia GeForce 8800GT]のGPU互換性
- 4. NVIDIA GPUで命令レベルの並列処理(ILP)とアウトオブオーダー実行
- 5. nVidia GPUはclEnqueueWriteImageのために1000を返します
- 6. GPU使用率を測定するためのnvidia-smiの代わりに?
- 7. iPhone大規模なGPUでの乗算
- 8. C#IEEE754から十進数
- 9. "-arch sm_13"と "-arch sm_20"の違い
- 10. メモリの割り当てNvidia vs AMD
- 11. Mingw Nvidia SDKでOpenCLをコンパイル
- 12. NVIDIA NVCCとCUDA:Cubin vs. PTX
- 13. update_attributes(規格外フォーム)
- 14. Amazon Web Services Cluster GPUインスタンスに似たプライベートクラウドGPU仮想化
- 15. Tensorflowの推奨GPU
- 16. CPU/GPU間のテンソルフロー
- 17. nvidia(cuda対応)gpuカードの負荷をどのように計算しますか?
- 18. NVIDIAのL2キャッシュFermi
- 19. NvidiaのGPUが大きいか小さいかは誰でも知っていますか?
- 20. SLIをサポートしていないシステムで2つのNVIDIA gpuカードをCUDA計算に使用できますか?
- 21. nVidia Optimusを使用してアプリケーションに実際のGPUを使用するように強制しますか?
- 22. NvidiaとAMDハードウェアのOpenCL FFT?
- 23. Nvidia Physx on iPhone
- 24. 複数のCUDA GPUの使用
- 25. FFMPEG GPU画像処理
- 26. OpenGL ES 2.0 NVIDIA TEGRA 2アンロール
- 27. GPUプログラミング、CUDAまたはOpenCL?
- 28. Tegra GPUのプログラミングに必要なもの
- 29. のNvidiaのTegraプロファイラー1.0クラッシュ
- 30. glDrawTexiOES on Nvidia Tegra 3
GT200ファミリーのGPUは、IEEE-754単精度演算をサポートしていませんでした。しかし、たとえそうであったとしても、その答えはおそらくはいでしょう。結果は異なるかもしれません。 – talonmies
@talonmies私は私のクエリ[here](http://stackoverflow.com/q/10335782/842808)を改訂しました。親切に見てみましょう。 ありがとう – Abhinav