2

NSight を使用して CUDA コードをデバッグしていますが、質問があります。特定のスレッドとブロックにブレークポイントを配置するにはどうすればよいですか?

カーネルにブレークポイントを配置すると、デバッガーは常にブロック 0 のスレッド 0 で停止します。

4

2 に答える 2

9

Nsight のオンライン ヘルプで説明されているように、ブレークポイントを設定して、次のようにブロックとスレッド ID を条件とすることができます。

CUDA C ブレークポイントにブロックまたはスレッド条件を設定するには:

  1. ソース コードの行にブレークポイントを設定します。
  2. ブレークポイントを右クリックします。
  3. ドロップダウン メニューから [条件...] を選択します。
  4. タイプ:

    @blockIdx(0,2,0) && @threadIdx(5,0,0)

  5. [OK] をクリックします。ブレークポイント グリフにはプラス記号が表示されます。

于 2011-05-02T10:59:27.500 に答える
4

CUDA Debug Focus を使用してみてください。任意のブロック内の任意のスレッドをデバッグできます...

于 2011-05-03T05:27:37.893 に答える