cuda-memcheck:内部错误(7)

Rat*_*and 4 cuda

我试图调试我的CUDA-C程序,我发现cuda-memcheck可能会有所帮助.我的问题是我无法使用该工具,因为每次我运行它,即使是从互联网上取得的"Hello World"程序,我得到这个结果:

========= CUDA-MEMCHECK
  *program output*
========= Internal error (7)
========= No CUDA-MEMCHECK results found
Run Code Online (Sandbox Code Playgroud)

这里还有bash:cuda-memcheck输出的屏幕

我没有在互联网上找到任何东西,所以我希望这里的其他人能够帮助我.谢谢任何人!

Mil*_*les 5

看起来这只是一个权限问题,正如Robert Crovella在评论中首次提到的那样.确保您有权使用相关/dev文件,并可以/dev/nvidia-uvm-tools在那里看到.

对我来说,这个问题出现在一个docker容器中.然后我使用特权标志重新启动容器:

nvidia-docker run ... --privilieged ...
Run Code Online (Sandbox Code Playgroud)

这完全解决了我的问题.请参阅问题:https://github.com/NVIDIA/nvidia-docker/issues/454.

因此要么运行memcheck:

sudo cuda-memcheck ...
Run Code Online (Sandbox Code Playgroud)

或尝试使用正确的权限重新安装所有内容并使用sudo运行应解决此问题(如您所见).

对我来说很明显的一点是,cuda-memcheck当我正常执行程序时,运行速度非常快.这不应该发生:该命令可以使内核速度降低10倍以上,因此如果您注意到命令以正常速度运行到常规执行,那么这是一个cuda-memcheck甚至无法进入内核来测量它们的标志.