我试图调试我的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输出的屏幕
我没有在互联网上找到任何东西,所以我希望这里的其他人能够帮助我.谢谢任何人!
看起来这只是一个权限问题,正如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甚至无法进入内核来测量它们的标志.
| 归档时间: |
|
| 查看次数: |
1948 次 |
| 最近记录: |