2012-01-04 13 views
1

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)。

答えて

1

私はNVIDIAのParallel Nsightチームのメンバーです。残念ながら、これはバグかもしれないようです。

あなたのプロジェクトを見ている可能性はありますか?問題のバグを報告して電子メールで私に連絡してください:http://developer.nvidia.com/rdp/bugs/parallel-nsight-bug-reporting

私はできるだけ早くそれを見ていきます。

ありがとうございます!

+0

もう少し見ると、メモリにパッチを当てるコードに問題があるようです。このエラーは、コード・パッチ・メモリー・ファクターが2に設定されているときに発生しました。これを4に増加すると、正常にデバッグできます。私はまだバグレポートを提出します。これはエラーメッセージをポップアップさせるものかもしれません。 – Timber

関連する問題