0

TeslaX2050アダプターでCUDAを使用して処理を行うアプリケーションがあります。私のシステムにはQudaro4000もありますが、この目的のためにアプリケーションでは使用されません。さらに、パターンを表示するために使用される別のGeforce2xxグラフィックカードがあります。パターンを表示する部分は、GeForce2xxアダプター上にフルスクリーンDX9デバイスを作成し、表示フレームごとに異なるパターンを表示するコードです。この目的のために、VSynchedを表示する必要があり、パターンをスキップしたり見逃したりしないようにする必要があります。私が抱えている問題は、VSyncをオンにすると、すべてのCUDA処理が非常に遅くなることです。VSynchを無効にすると、望ましくないパターンが途切れてしまいます。CUDA処理とパターン表示の両方をどのように組み合わせることができますか?文脈のために、

2011年1月4日編集:シーケンスが1台のコンピューターに完全に投影される理由と、より強力なコンピューターで画像が時々停止する理由を発見しました。違いは、1つにはオンボードのIntel GPUがあり、もう1つには3つのNVIDIAGPUがあることです。さて、この特定のタスクでは、オンボードIntelGPUはどのNVIDIAGPUよりもはるかに優れています。ドライバーが異なることが原因である可能性があります。IntelGPUと同じ完璧なパフォーマンスを実現するために、NVIDIAドライバーに設定するオプションとパラメーターの組み合わせがあるかどうかを調べています。

ありがとうございました。

オファー。

4

2 に答える 2

1

私はしばらく前にこの問題を解決しました。

この問題が発生する理由は、VSync が CUDA 計算も停止し、GPU 全体が停止するためです。したがって、2 つの解決策があります。

  1. Tesla をお持ちの場合は、Tesla を専用モードである TCC モードに設定できます。これは、ディスプレイ GPU (geforce または quadro) の VSync が Tesla とその CUDA 計算を停止しないことを意味します。

  2. VSync ストール操作をできるだけ遅く呼び出すか、ストール vsync の代わりにテスト コマンドを実行してください。

DX9 では、Present コマンドには 2 つのモードがあり、ブロック (GPU) して VSync を待機するか、Present が成功したかどうかをテストし、そうでない場合は停止しません。

スリープ、最後のフレームからの時間の測定、Present が成功したかどうかのテストを組み合わせることで、VSync による GPU のストールを可能な限り少なくすることができます。この方法で、CUDA ストラクチャードライト デコーディング + DX9 でのパターン プロジェクション + 3D ディスプレイをすべて同じ GPU (GeForce 320M) 上で実行できました。

于 2011-06-15T09:58:53.297 に答える
0

1 つの解決策は、作成された画像をバッファリングし、それらを順番に表示することです。

DX9 コンテキストをどのように使用していますか? 2050 の結果を DX9 コンテキストにコピーしていますか? 計算側で AsyncCalls を使用していますか?

于 2011-04-06T16:44:41.673 に答える