核函数第二次调用之后返回invalid argument?

Projection<<<32,128>>>(dev_pdForProj, dev_IniImg, nSub, X_YORIGIN);
printf(“%s \n”,cudaGetErrorString(cudaGetLastError()));

这是调用核函数的代码,第一次执行后输出 no error,第二次及以后都会输出invalid argument,将核函数的所有代码都注释后还是输出invalid argument,请问这是什么问题,如何查找?

LZ您好:

这表示参数是无效的,考虑到您使用的是cudaGetLastError(),这个函数给出的也可能是之前产生的错误,而且这个错误常出现于API函数的参数错误,所以,请您检查您的代码中,循环内,除了kernel之外,其他API函数的参数是否正确。

祝您好运~

增加了一些具体说明。

谢谢版主,问题已找到,还没解决。。。