次の方法で共有


Visual Studio CNTKソース コードのデバッグ

CUDA カーネルをデバッグする手順は次のとおりです。

  1. ここからの指示に従って NVIDIA Nsight をインストールする
  2. 「ローカル デバッグ」の指示に従います。
  3. 環境変数を NSIGHT_CUDA_DEBUGGER = 1 に設定します。
  4. Visual Studioと Nsight モニターを管理者として実行します。
  5. Nsight Monitor-Options-CUDA>> で、"Use this monitor for CUDA attach" を True に設定します。 Nsight を再起動する必要がある場合があります。 管理者としてもう一度実行します。
  6. Visual Studioで、Nsight-Options> に移動し、オプションが Nsight モニターのオプションと一致していることを確認します (例: ポートは同じです)。 特に、"セキュリティで保護された接続の確立" が両方で同じであることを確認します。
  7. ソリューション エクスプローラーで MathCUDA プロジェクトを右クリックし、[プロパティ] に移動します。
  8. [構成プロパティ] -> [CUDA C/C++ ] -> [デバイス] に移動し、[GPU デバッグ情報の生成] を [はい] に設定します
  9. [構成プロパティ] -> [CUDA リンカー] -> [全般] に移動し、[GPU デバッグ情報の生成] を [はい] に設定します
  10. カーネルにブレークポイントを追加し、CNTKを再構築し、デバッグしようとしているものを実行する準備をします。
  11. VS で、[デバッグ -> プロセスにアタッチ] に移動し、トランスポートを Nsight GPU デバッガーに設定し、修飾子を localhost に設定します。
  12. CNTKを開始します。
  13. [最新の情報に更新] をクリックし、プロセス一覧でCNTKを見つけてアタッチします。 ブレークポイントにヒットすると、カーネルのすべてのローカル変数を確認できます。 threadIdx や blockIdx などの CUDA グローバルのみが表示される場合は、MathCUDA プロパティで GPU デバッグ フラグを適切に設定していません。