关于cudaDeviceSynchronize错误返回值的问题

我的问题是这样的:
首先,我的程序应该是没有问题的,因为我测试了1000、2000、5000、10000、20000、30000个点的计算,都没有问题
然后,我继续测试32996个点的计算,数据只有怎么多。然后运行的时候提示错误:
cudaDeviceSynchronize returned error code 4 after launching MIComputeKernel!
我想请教下这是因为什么呢,数组下标越界吗?可是我运行30000个点都没有问题呢?

还有我想问下cudaDeviceSynchronize的返回值的代表意义,有没有一个错误码的意义表格呢?

求大神指导!

求大神…

楼主您好,2分钟没有回复您不代表没人正在回复。

您的cudaDeviceSynchronize()返回的是您上次的错误。而根据您的描述,您的kernel中有问题。

错误代码4是Unspecified Launch Failure, 这往往代表您有越界或者不正确的指针使用。
请按这个方向进行检查。

您的第二个问题:
所有的错误代码可以用cudaGetErrorString()来取得。请阅读手册中该函数的说明并使用它。

感谢您的来访。

谢谢斑竹的辛苦回复…
太感谢了

您客气了,服务您是我的荣幸。

感谢您的来访,欢迎下次再来。

版主,请问返回错误代码30是什么意思。。用cudaGetErrorString返回的是 unknown error…

楼主您好,错误30他本身就叫cuda error unkown.

此错误往往出现在windows平台上的kernel中有错误的访存或者访问越界的情况。

请按照此方向检查贵代码。