Nsight 2.1でCUDAコードをデバッグする際に奇妙な問題が発生しています。NVIDIA CUDA 4.1 RC2とParallel NSight 2.1で奇妙な動作が発生する
dim3 block(threadsPerBlock);
dim3 grid(numBlocks);
InitPhotons<<<grid,block>>>(devicerun,sources[i],1);
cudaThreadSynchronize();
MC<<<grid,block>>>(devicerun,sources[i],1);
私は成功しInitPhotonsにブレークポイントを打つことができ、その機能により、単一のステップ:私は2つの私main.cuからそのように呼ばれますグローバル機能を持っています。しかし、私はMCで設定した最初のブレークポイントだけを打つことができます。関数(VSのF10)を1ステップ実行しようとすると、デバッガはcontinueコマンド(F5)を使用し、ブレークポイントにヒットしなくなったかのように動作します。
他に誰かがこの問題を抱えていますか?誰もが解決策のアイディアを持っていますか?
Visual Studio 2010 ProでCUDA 4.1 RC2と並列NSight 2.1を使用しています。私は-G0フラグでコンパイルしており、最適化は無効です。
編集:この問題は、コードパッチメモリのデフォルトサイズにあるようです。私はコードのパッチメモリ係数を2から4に変更し、すべて正常に動作します(Nsight-> Options-> CUDA-> Code patching memory factor)。
もう少し見ると、メモリにパッチを当てるコードに問題があるようです。このエラーは、コード・パッチ・メモリー・ファクターが2に設定されているときに発生しました。これを4に増加すると、正常にデバッグできます。私はまだバグレポートを提出します。これはエラーメッセージをポップアップさせるものかもしれません。 – Timber