【问题标题】:How to start debug version of project in nsight with optirun command?如何使用 optirun 命令在 nsight 中启动项目的调试版本?
【发布时间】:2012-11-16 13:11:36
【问题描述】:

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

【问题讨论】:

  • 在 nsight 中,在 Project...Build Configurations...Set Active 下,是否选择了 DebugRelease?您使用什么构建命令来构建您的项目?你用什么命令来运行调试版本?
  • 调试版本已设置。 :) 我不确定你的意思是什么。 :D 我通过单击绿色播放按钮运行它,它作为本地 c/c++ 应用程序运行,我认为现在这可能是一个问题。但我不知道如何正确设置它。你能帮我解决这个问题吗? :)
  • 如果您执行 Project...Clean 然后是 Project...Build Project 然后是 Run...Debug 会发生什么?
  • 非常感谢。我之前没有使用 IDE for C(只有 Java),而且我总是自己输入 Makefile,所以我从没想过推动绿色启动不会执行 make 命令。 :) 这是愚蠢的错误,很抱歉打断你。 :) 再次感谢。
  • 对我来说,按下绿色的“运行”按钮 进行制作(然后启动代码)。你可以试试看底部的状态窗口。或者,为了向自己证明这一点,请尝试 Project...Clean,然后按下绿色的“运行”按钮。我不确定在这种情况下到底是什么问题。但是,我认为按下绿色按钮 不会 启动调试模式。调试模式(即启动调试器)和运行项目的调试版本是两件稍微不同的事情。

标签: cuda ubuntu-12.04 nsight optimus


【解决方案1】:

由于这是我在搜索“nsight optirun”时发现的第一个帖子,所以我只想写下我为使其对我有用所采取的步骤。

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

  2. 找到 CUDA GDB 可执行文件的文本框(在我的例子中,它设置为“${cuda_bin}/cuda-gdb”)

  3. 添加“optirun --no-xorg”,在我的情况下,它是“optirun --no-xorg ${cuda_bin}/cuda-gdb”

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

寻找错误的快乐。

【讨论】:

    【解决方案2】:
    1. 我们在没有 optirun 的 Optimus 系统上测试了 Nsight - 有关在 Optimus 系统上使用 CUDA 工具包的信息,请参阅CUDA Toolkit Getting Started 中的“安装 cuda 工具包”。我们尚未尝试使用 Nsight EE 进行 optirun。
    2. 如果您仍需要使用 optirun 进行调试,您可以尝试制作一个使用 optirun 启动 cuda-gdb 的 shell 脚本,并在调试配置属性中将该 shell 脚本设置为 cuda-gdb 可执行文件。

    【讨论】:

      【解决方案3】:

      最简单的做法是使用 optirun 运行 eclipse,它也可以正常运行您的应用程序。

      【讨论】:

        猜你喜欢
        • 2013-11-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多