0

cuda-gdb で実行すると消えるカーネル起動エラーの調査方法を知っている人はいますか? メモリの割り当ては仕様の範囲内であり、起動は毎回同じカーネルの同じ実行で失敗し、(これまでのところ) デバッガー内で失敗したことはありません。

ああ、偉大な SO 教祖よ、今は何ですか?

4

2 に答える 2

2

cuda-gdb は、すべての共有メモリとレジスタをローカル メモリにスピルします。したがって、何かがデバッグ用に正常にビルドされて実行され、それ以外の場合は失敗する場合は、通常、境界外の共有メモリ アクセスを意味します。使用しているカードの種類によっては、 cuda-memcheck が役立つ場合があります。その点で、Fermi は古いカードよりも優れています。

編集: 悪い昔に思いを馳せると、多くの共有メモリ アクティビティを使用して非常にメモリ集約型のカーネルを実行すると、同様の NV13 エラーをスローし、ランダムなコード エラーが発生する、厄介な GT9500 があったことを覚えています。デバッグ時には決して。私はそれを悪いハードウェアに置き、GT200に移しましたが、それ以来、同様のエラーは見られません. 1 つの可能性として、ハードウェアの不良が考えられます。これは G92 (9800GT など) ですか?

于 2011-04-20T20:22:55.337 に答える
0

CUDA GDBは、いくつかのcuda操作を同期させることができます。

  • 初期化後にメモリから読み取っていますか?
  • Streamsを使用していますか?
  • 複数のカーネルを起動していますか?
  • どこでどのように失敗しますか?
于 2011-04-21T18:57:50.047 に答える