1

NSightを使用してデバッグする場合、変数またはポインターを適切に監視できますが、参照変数に対しては監視できません。ウォッチまたはイミディエイトウィンドウで参照をポインターに変換しようとしましたが、役に立ちませんでした。ポインターを使用してコードを書き直したくありません。Visual Studio2010SP1をWindows764ビットマシン、CUDA 4.0、Parallel NSight 2.0で使用しており、コードはWin32用にコンパイルされています。

例:__ device__ void function(int&parameter)

パラメータをデバッグできません。デバッガーでは到達できません。

4

2 に答える 2

1

自分のマシンで問題を再現しました。Windows 7 64ビット、Visual Studio 2010、CUDA4.1。

デバッグできません:

__device__ int myfunc(int& myint)
{
  return myint * 5;
}

。を使用して行にブレークポイントを設定できますreturnが、参照によって渡されたため、変数を表示できません。

次のように変更した場合:

__device__ int myfunc(int& myint)
{
  int debug(myint);
  return debug * 5;
}

debug変数を表示できます。

NVIDIAにバグを提出する必要があると思います。彼らのシステムがそれに対して十分に回復したかどうかはまだわかりません。

于 2012-07-24T15:24:40.500 に答える
1

Nsight 2.2、CUDA 4.2、およびDevドライバー301.32に更新され、それでうまくいきました。

于 2012-07-24T20:03:18.137 に答える