我一直在写一些简单的 cuda 程序(我是学生,所以我需要练习),问题是我可以从终端使用 nvcc 编译它(使用 Kubuntu 12.04LTS),然后使用 optirun ./a.out 执行它(hardver 是 dell inspiron 上的 geforce gt 525m),一切正常。主要问题是我无法从 Nsight 做任何事情。当我尝试启动代码的调试版本时,消息是“启动失败!找不到二进制文件!”。我认为这是关于使用 optirun 运行命令,但我不确定。有没有类似的经历?谢谢,提前帮助的人。:)
问问题
1781 次
3 回答
2
由于这是我在搜索“nsight optirun”时发现的第一篇文章,所以我只想写下我为使其对我有用所采取的步骤。
转到运行 -> 调试配置 -> 调试器
找到CUDA GDB 可执行文件的文本框(在我的例子中,它设置为“${cuda_bin}/cuda-gdb”)
前置“optirun --no-xorg”,在我的情况下,它是“optirun --no-xorg ${cuda_bin}/cuda-gdb”
如果您有一个 OpenGL 窗口,则可能不需要“--no-xorg”选项,甚至会适得其反,因为它会阻止任何这些出现。但是,对于我的科学代码,它是必需的,因为它可以防止我遇到内核超时。
快乐的虫子狩猎。
于 2014-01-03T09:10:29.113 回答
1
- 我们在没有 optirun 的情况下在 Optimus 系统上测试了 Nsight - 请参阅CUDA 工具包入门中的“安装 cuda 工具包”,了解在 Optimus 系统上使用 CUDA 工具包。我们还没有尝试过使用 Nsight EE 的 optirun。
- 如果您仍然需要使用 optirun 进行调试,您可以尝试制作一个使用 optirun 启动 cuda-gdb 的 shell 脚本,并在调试配置属性中将该 shell 脚本设置为 cuda-gdb 可执行文件。
于 2012-11-28T17:50:31.157 回答
-2
最简单的做法是使用 optirun 运行 eclipse,这也将正确运行您的应用程序。
于 2013-01-06T19:55:22.657 回答