現在利用可能なGPUは倍精度浮動小数点演算をサポートしていますか?


17

24個のIntel Xeon CPUを含むノードで構成されるUbuntu Linuxクラスターで分子動力学(MD)コードGROMACSを実行しました。私の特定の関心のある点は、浮動小数点演算の精度に多少敏感であることが判明したため、GROMACSは、倍精度の計算コストが高いにもかかわらず、単精度ではなく倍精度で実行する必要がありました。そのため、クラスターでは、GROMACSを倍精度でコンパイルしました。

CPUに対して相対的な高速化(「GPUアクセラレーション」)が行われる可能性があるため、GPUの購入を検討しています。ただし、倍精度演算を実行できるGPUが必要です。そのようなハードウェアが市販されているかどうか知っていますか?GROMACSメーリングリストの最近の投稿は、倍精度のGPUは市販されていないことを示唆しています:

ハードウェアはそれをサポートしていません[倍精度演算]まだ知らない。

このウィキペディアのページは、倍精度GPUは非効率的である可能性があるため、一般的でないことを示唆しているようです。

Nvidia GPUでの浮動小数点の実装は、ほとんどがIEEEに準拠しています。ただし、これはすべてのベンダーに当てはまるわけではありません。これは、いくつかの科学的応用にとって重要であると考えられている正確さに影響を及ぼします。CPUでは64ビット浮動小数点値(倍精度浮動小数点数)が一般的に使用可能ですが、これらはGPUでは普遍的にサポートされていません。一部のGPUアーキテクチャはIEEE準拠を犠牲にし、他のGPUアーキテクチャは倍精度を完全に欠いています。GPUで倍精度浮動小数点値をエミュレートする努力がありました。ただし、速度のトレードオフは、そもそもGPUに計算をオフロードする利点を無効にします。

このNVIDIA Teslaページは、チャートの「ピークの倍精度浮動小数点パフォーマンス」を参照する際に、実際には、GPUで倍精度計算を実行できることを示唆しているようです(計算コストは​​高くなりますが)。

だから、私は何を信じるべきですか?この問題の経験はありますか?


それはGK110に基づいて、ダブルpricisionをサポートしているされTITAN GTXをチェックしてください.....そのビットコストがかかるものの.....約$ 1K

ウィキペディアは常に...急速に変化するトピックに関する最新の情報を持っていない
ジェフ・

回答:


17

倍精度は、新しいGPUではかなり一般的です。例えば、ViennaCLを倍精度で実行しても問題のないNVIDIA GTX560 Ti(コンピューティングに関してはかなりローエンド)を所有しています。ここから(セクション4)、GTX4xx以降のすべてのNVIDIAカードがネイティブで倍精度をサポートしているように見えます。

GROMACSの情報は単に古くなっていると思います。


5
とても時代遅れです。特にNVIDIAプロセッサは、長年にわたって倍精度をサポートしています。率直に言って、単精度機能よりも大幅に低速でしたが、最初のTeslaブランドのGPUにあり(おそらくエミュレートされていませんでした)、おそらくその前にありました。最近の化身により、信号と倍精度のサポートとの間のギャップが大幅に減少しました。
マイケルグラント

はい、私がリンクした論文では、エミュレーションが必要な場合のパフォーマンスの約8倍の違いについて言及しましたが、チップはそのために設計されているので、2倍に近づいています。 VRAMからプロセッサへのカードメモリレイテンシがありますが、それは単なる推測です。
ゴドリックシーア

実際、主な理由は、以前のGPUが倍精度計算に多くのチップスペースを割り当てなかったためです。このページによると、GK110シリーズは、GK104シリーズの8倍の「SMXブロック」あたりの倍精度ユニットを持っています(その意味は何でも)。
マイケルグラント

1
ああ、はい、私は実際にメモリ帯域幅のコメントに関して現在のGPUの2倍の違いに言及していました。
ゴドリックシーア

わかった。このうさぎの穴を下るつもりはなかった。あなたの答えは結構です、それが私自身の答えを追加する代わりにコメントして投票した理由です;
マイケルグラント

8

SM 1.3(Tesla / GTX2xx)以上のGPUはすべて、ハードウェアの倍精度サポートを備えています。Fermiアーキテクチャから始めて、QuadroおよびTeslaバリアントは、消費者向けGe Forceモデルよりも優れた倍精度サポートを備えています。

奇妙なのは、GeForce Kepler / GTX6xxの倍精度サポートがGeForce Fermi / GTX5xxのサポートより劣っており、Kepler K20 / K20xでのTeslaの差別化が改善されていることです。さらに奇妙なことに、Tesla K10にはGe Forceレベルの倍精度サポートがあります。そして最近、Ge Force GTX Titanの導入によりこれは完全な混乱に陥りました。GeForce GTX Titanは、完全な倍精度サポートと、現在までTeslaモデルにしか存在しない多くのCUDA機能を備えています。GTX Titanのコストは約1,000ドルです。



0

この議論によれば、TeslaおよびTitan GPUは(Nvidia GPUの中で)倍精度に最も適しています。

WikipediaのNvidia GPUのリストを見て(AMD GPUの同様の表はこちら)、単精度と倍精度の処理能力(GFLOPの観点)を比較すると、倍精度のパフォーマンスは単精度の半分よりはるかに小さいことがわかります他のほとんどのGPUのパフォーマンス。たとえば、GTX 900シリーズの場合、倍精度のパフォーマンスは単精度のパフォーマンスの1/32であると述べていますが、このウィキペディアの記事では、GTX 700シリーズの場合、倍精度のパフォーマンスは単精度の1/24であると述べていますパフォーマンス(単精度パフォーマンスの1/3に達する可能性があるTitanを除く)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.