如何使用optirun命令在nsight中启动项目的调试版本?

问题描述:

我一直在写一些简单的cuda程序(我是学生,所以我需要练习),事情是我可以从终端使用nvcc编译它(使用Kubuntu 12.04LTS),然后使用optirun执行它./a .out(hardver是geforce gt525m上的dell inspiron),一切正常。主要的问题是我无法从Nsight做任何事情。当我尝试启动调试版本的代码时,消息是“启动失败!找不到二进制文件!”。我认为这是关于optirun运行命令,但我不确定。任何类似的经历?谢谢,为了提前帮助人们。 :)如何使用optirun命令在nsight中启动项目的调试版本?

+0

在nsight下,在Project ... Build Configurations ... Set Active下,是否选择了Debug或Release?您使用什么构建命令来构建项目?你使用什么命令来运行调试版本? –

+0

调试版本已设置。 :)我不确定你是什么意思。 :D我点击绿色的播放按钮来运行它,它以本地c/C++应用程序的形式运行,现在我认为这可能是一个问题。但我不知道如何正确设置它。你能帮助我吗? :) –

+0

如果您执行Project,将会发生什么... Clean然后执行Project ... Build Project,然后运行... Debug? –

由于这是我在搜索“nsight optirun”时发现的第一篇文章,我只想写下我为了让它为我工作的步骤。

  1. 转到运行 - >调试配置 - >调试

  2. 查找CUDA GDB可执行(在我的情况下,它被设置为“$ {cuda_bin}/CUDA-GDB的文本框“)

  3. 前面加上 “optirun --no-xorg的”,在我的情况下,然后将其 “optirun --no-xorg的$ {} cuda_bin/CUDA-GDB”

如果您有OpenGL窗口,则可能不需要“--no-xorg”选项,甚至可能会适得其反,因为它会阻止任何显示。对于我的科学代码,但它是必需的,因为它防止我遇到内核超时。

快乐的bug狩猎。

  1. 我们测试Nsight上的Optimus系统,而无需optirun - 看到使用的Optimus系统CUDA工具包在CUDA Toolkit Getting Started“安装CUDA工具包”。我们还没有尝试使用Nsight EE进行optirun。
  2. 如果仍需要使用optirun进行调试,可以尝试制作一个使用optirun启动cuda-gdb的shell脚本,并在调试配置属性中将该shell脚本设置为cuda-gdb可执行文件。

最简单的事情就是用optirun来运行eclipse,它也会正确运行你的应用程序。