我收到错误:“所有 cuda 设备均用于显示,在调试时无法使用”
(使用Ubuntu)
有没有什么方法可以使用 Nsight eclipse 仅使用一个 GPU 进行调试?
我见过类似的解决方案
“sudo 服务 lightdm 停止”
杀死 X 但这也杀死了 Nsight eclipse 那么有什么意义呢?
更新:由于不可能使用运行 X 的同一个 GPU 进行调试,我不得不问:如何使用家庭网络中的另一台计算机“远程”访问 Ubuntu,以便 X 桌面渲染将由来宾计算机执行,同时让主机 GPU 运行调试器?
一般来说,不支持在托管 X 显示器的同一 GPU 上进行调试。来自nsight 入门指南 http://docs.nvidia.com/cuda/nsight-eclipse-edition-getting-started-guide/index.html#linux-requirements: "运行 X11(在 Linux 上)或 Aqua(在 Mac 上)的 GPU 无法用于调试 CUDA 应用程序,并且将对调试器中运行的应用程序隐藏。此类 GPU 仍可用于分析 GPU 应用程序。 "
然而,我相信不同的窗口管理器之间实际上有不同的行为。我有一台配备 Quadro1000M 和 RHEL 6.2(带有 GNOME)和 CUDA 5.0 的笔记本电脑,我能够进入 nsight EE 中的调试器(项目...构建项目,然后运行...调试)。那时我可以单步执行并在主机代码中设置断点。如果我运行代码完成我会得到正确的输出。但是,您仍然无法调试设备代码。如果您在设备代码中设置断点(并命中断点),您将挂起 X 会话。
EDIT: CUDA 5.5 及更高版本 http://docs.nvidia.com/cuda/nsight-eclipse-edition-getting-started-guide/index.html#unique_347065367现在支持在单个 cc3.5 或更高版本的 GPU 上进行调试的能力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)