特定のカーネル内のすべての変数値を調べる方法があることを知りたいです。たとえば、threadIdx.x = 1 の場合、現在動作しているデータとそのデータの値は何ですか?
すべてが正しく機能しているので、私の質問は、「クイックウォッチ」または「ウォッチの追加」を使用して、通常のVSでできるように変数を表示する方法です.NSightでそれらに相当するものは何ですか? ありがとう、今から数時間苦労しています。
NSight を介してデバッグするときに、blockIdx、threadIDx 座標のみを表示する CUDA 情報ウィンドウと CUDA ワープ ウィンドウがあります。
__global__ void addKernel(int *c, const int *a, const int *b)
{
int i = threadIdx.x;
if(i<N)
c[i]=a[i]*b[i];
// DUmmy code
if(i<2)
int k=i;
}
私のカーネルはこのように呼び出されaddKernel<<<1,N>>>(dev_c,dev_a,dev_b)
、私の #DEFINE N 10.
if と else の中にブレークポイントを入れます。ワープ ウィンドウの出力は次のように設定されています。
*(a+i) *(b+i) *(c+i) i
0 0 -1 0
2 1 -1 1
4 4 -1 2
6 9 -1 3
8 16 -1 4
だから、私のcは決してセットアップされません。どうして?ありがとうございました
PS マイナスをくれた人たちは、私の質問が -1 になるのを見て、いつも諦めてくれますか? 再度、感謝します