我想知道有没有办法查看给定内核中的所有变量值,例如,对于 threadIdx.x = 1,它当前正在工作哪些数据以及该数据的值是什么?
一切正常,所以我的问题是如何使用“快速监视”或“添加监视”来查看您可以在普通 VS 中执行的变量,它们在 NSight 中的等价物是什么?谢谢,已经挣扎了几个小时了。
通过 NSight 进行调试时,我有 CUDA Info 窗口和 CUDA Warp 窗口仅显示 blockIdx、threadIDx 坐标。
__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 中设置了断点。Warp 窗口中的输出设置为显示:
*(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。再次感谢