Projection<<<32,128>>>(dev_pdForProj, dev_IniImg, nSub, X_YORIGIN);
printf(“%s \n”,cudaGetErrorString(cudaGetLastError()));
这是调用核函数的代码,第一次执行后输出 no error,第二次及以后都会输出invalid argument,将核函数的所有代码都注释后还是输出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函数的参数是否正确。
增加了一些具体说明。
谢谢版主,问题已找到,还没解决。。。