我正在尝试调试我的CUDA-C程序,我发现cuda-memcheck可能会有帮助。我的问题是我不能使用这个工具,因为每次我运行它,即使是在互联网上的"Hello World“程序上,我都会得到这样的结果:
========= CUDA-MEMCHECK
*program output*
========= Internal error (7)
========= No CUDA-MEMCHECK results found这也是bash的一个屏幕:cuda-memcheck output
我在网上什么也找不到,所以我希望这里的其他人能帮助我。谢谢大家!
发布于 2017-08-22 01:28:17
这似乎只是一个权限问题,正如Robert Crovella在评论中首次提到的那样。确保您拥有使用相关/dev文件的权限,并且可以在那里看到/dev/nvidia-uvm-tools。
对我来说,这个问题是在docker容器中出现的。然后,我使用特权标志重新启动了容器:
nvidia-docker run ... --privilieged ...这完全解决了我的问题。请参阅问题:https://github.com/NVIDIA/nvidia-docker/issues/454。
因此,要么使用以下命令运行memcheck:
sudo cuda-memcheck ...或者尝试以正确的权限重新安装所有内容,并使用sudo运行应该可以解决这个问题(如您所发现的)。
对我来说很明显的一件事是,当我正常执行我的程序时,cuda-memcheck运行得相当快。这不应该发生:该命令可能会使内核速度减慢10倍以上,所以如果您注意到该命令以正常速度运行到正常执行,这是一个迹象,表明cuda-memcheck甚至无法进入您的内核来测量它们。
https://stackoverflow.com/questions/44932202
复制相似问题