CUDA grid launch failed

我处理87张影像,其中前10张影像结果正常,后面的都不正常,但用cuda调试时,第一张就弹出这样的问题: 这是怎么回事?
[attach]3273[/attach]
另外还有一个问题:我只运行了其中一个工程中编写的cuda函数,怎么其它工程的cuda函数也在下图中,而且还占用了资源:
[attach]3274[/attach]

LZ您好:

nsight给您的信息是您有访存越界,请修复此BUG。
以及nsight检测访存越界十分严格,只要有越界就将为您指出。而您直接运行的话,因为显存分配粒度的原因,轻微越界可能并不会导致程序直接挂掉(也可能会直接挂掉,这个要根据具体情况确定),所以在处理多图的有积累的情况下或者某些随机的情况下,程序可能会挂掉。

总之为了保证您的程序可靠地运行,请设法修正这个BUG。

您的第二个问题我不太清楚,请其他网友/斑竹/NV原厂支持补充,或者您也可以进一步详细叙述一下您的情况。

祝您调试顺利~

谢谢您的耐心解答。
第二个图的意思是,我只调用了cu_OrthoCorrection.cu中的核函数,怎么会在cuda info1 的module 中会显示项目其它工程编写的核函数,按理说这些函数也没有运行啊

这个可能非常正常,因为cuda runtime在初始化的时候,行为是不公开的,没有人阻止它不可以一次性载入多个module,以及kernels等到您的context里的(这个也是自动建立的)

以及,需要说明的是,ICE之前的回帖非常正确:

你不能说因为你普通直接运行到第7次才出错,而在nsight下运行第1次就提示越界/非法访存(access violation)了,是nsight的错。

实际上完全不是!

这只能说,您的BUG正常运行不容易暴露,而nsight下的memory check会立刻暴露它,这是你的错。

您觉得呢?