【问题标题】:cuda-memcheck : internal error (7)cuda-memcheck:内部错误 (7)
【发布时间】:2017-07-05 17:08:24
【问题描述】:

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

========= CUDA-MEMCHECK
  *program output*
========= Internal error (7)
========= No CUDA-MEMCHECK results found

这也是 bash 的屏幕: cuda-memcheck output

我在互联网上一无所获,所以我希望这里的其他人能够帮助我。谢谢大家!

【问题讨论】:

  • 当您的 CUDA 配置损坏时,有时会发生这种情况,例如,您从 CUDA 7.5 运行 cuda-memcheck 但安装了 CUDA 8.0。
  • @RobertCrovella 我从 .run 文件安装了它,我已经尝试重新安装它。我会仔细检查一下,谢谢你的回答
  • cuda-memcheck 的另一个可能的陷阱取决于你如何运行它,确切地说,你没有显示。您用来启动它的确切命令行是什么?您是否适当地修改了 PATH 环境变量?您是否在没有写入权限的目录中运行 cuda-memcheck
  • @Miles 你解决了吗?我还是卡住了。
  • 为此在 nvidia-docker 页面上发布了一个问题:github.com/NVIDIA/nvidia-docker/issues/454

标签: cuda


【解决方案1】:

这似乎只是一个权限问题,正如 Robert Crovella 在 cmets 中首次提到的那样。确保您有权使用相关的/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 甚至无法进入您的内核来测量它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2017-05-18
    • 2013-10-19
    • 1970-01-01
    • 2012-01-24
    • 2023-03-07
    相关资源
    最近更新 更多