1

私はmatrixMulCUBLASサンプル コードで遊んでいて、デフォルトのマトリックス サイズをもう少し楽しいものに変更しようとしましたFailed to synchronize on the stop event (error code unknown error)!。どうやらcublasを片付けているようです。これは何を意味するのでしょうか?どうすれば修正できますか?

EVGA FTW nVidia GeForce GTX 6702GBのメモリを搭載したcuda 5.0がインストールされています。ドライバーのバージョンは、本日時点で最新の 314.22 です。

4

1 に答える 1

4

一般に、Windows で CUDA を使用する場合、1 つのカーネルの実行時間が約 2 秒を超えないようにする必要があります。実行時間が長くなると、Windows TDR イベントにヒットする可能性があります。これは、一定時間内に応答しない場合に GPU ドライバーをリセットする Windows ウォッチドッグ タイマーです。このようなリセットは、カーネルの実行を停止し、偽の結果を生成するだけでなく、通常は短時間「黒い」ディスプレイとシステム トレイに短いメッセージを表示します。カーネルの実行が Windows ウォッチドッグ タイマーをトリガーしている場合、いくつかのオプションがあります。

  1. システムで複数の GPU を使用する可能性があり (通常、ここではラップトップについては触れません)、GPU の 1 つが Quadro または Tesla デバイスである場合、Quadro または Tesla デバイスは通常 TCC モードに配置できます。これは、GPU が物理ディスプレイを駆動できなくなり (物理ディスプレイを駆動していた場合)、WDDM サブシステムから削除され、ウォッチドッグ タイマーの影響を受けなくなることを意味します。nvidia-smi.exeNVIDIA GPU ドライバーに同梱されているツールを使用して、特定の GPU の設定を WDDM から TCC に変更できます。Windows ファイル検索機能をnvidia-smi.exe使用nvidia-smi --helpして検索し、WDDM から TCC モードに切り替える方法についてコマンド ライン ヘルプを取得します。
  2. 上記の方法が利用できない場合 (2 つの GPU を持っていない、Quadro または Tesla GPU を持っていない...)、ウォッチドッグ タイマーの設定の変更を検討することをお勧めします。残念ながら、これにはシステム レジストリを変更する必要があり、プロセスと特定のキーは OS によって異なります。Web には、Microsoft のhereなどのリソースや、Stack Overflow に関するその他の質問 ( hereなど) があり、これが役立つ場合があります。
  3. 3 番目のオプションは、カーネルの実行時間を単純に制限することです。連続する操作は、複数のカーネル呼び出しに分割される場合があります。カーネル呼び出し間の「ギャップ」により、ディスプレイ ドライバーが OS に応答できるようになり、ウォッチドッグ タイムアウトが防止されます。

TCC サポートに関する記述は一般的なものです。すべての Quadro GPU がサポートされているわけではありません。特定の GPU で TCC がサポートされているかどうかの最終的な決定要因はnvidia-smiツールです。特定の GPU での TCC のサポートを保証するものではありません。

于 2013-07-23T13:41:26.080 に答える