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

Cuda 如何使用optrun命令在nsight中启动项目的调试版本?,cuda,ubuntu-12.04,nsight,optimus,Cuda,Ubuntu 12.04,Nsight,Optimus,我一直在写一些简单的cuda程序(我是学生,所以我需要练习),问题是我可以用nvcc从终端(使用Kubuntu 12.04LTS)编译它,然后用optirun./a.out执行它(Hardwer是dell inspiron上的geforce gt 525m),一切正常。主要的问题是我不能从右边做任何事情。当我尝试启动调试版本的代码时,消息是“启动失败!未找到二进制文件!”。我想这是关于用optrun运行命令,但我不确定。有类似的经历吗?感谢您提前为大家提供帮助。:) 我们在没有optirun的O

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

  • 我们在没有optirun的Optimus系统上测试了Nsight-请参阅“在Optimus系统上使用cuda工具包”中的“安装cuda工具包”。我们尚未尝试使用Nsight EE运行optirun
  • 如果仍然需要使用optirun进行调试,可以尝试创建一个shell脚本,使用optirun启动cuda gdb,并在调试配置属性中将该shell脚本设置为cuda gdb可执行文件
  • 我们在没有optirun的Optimus系统上测试了Nsight-请参阅“在Optimus系统上使用cuda工具包”中的“安装cuda工具包”。我们尚未尝试使用Nsight EE运行optirun
  • 如果仍然需要使用optirun进行调试,可以尝试创建一个shell脚本,使用optirun启动cuda gdb,并在调试配置属性中将该shell脚本设置为cuda gdb可执行文件

  • 最简单的方法是使用optirun运行eclipse,这也将正确运行您的应用程序。

    最简单的方法是使用optirun运行eclipse,这也将正确运行您的应用程序。

    因为这是我在搜索“nsight optirun”时发现的第一篇帖子我只是想写下我为让它为我工作所采取的步骤

  • 转到运行->调试配置->调试器

  • 查找CUDA GDB可执行文件的文本框(在我的例子中,它被设置为“${CUDA_bin}/CUDA GDB”)

  • 在“optirun--no-xorg”前面加上前缀,在我的例子中是“optirun--no-xorg${cuda_-bin}/cuda-gdb”

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


    快乐的bug搜索。

    因为这是我在搜索“nsight optirun”时发现的第一篇帖子,所以我只想写下我为让它为我工作所采取的步骤

  • 转到运行->调试配置->调试器

  • 查找CUDA GDB可执行文件的文本框(在我的例子中,它被设置为“${CUDA_bin}/CUDA GDB”)

  • 在“optirun--no-xorg”前面加上前缀,在我的例子中是“optirun--no-xorg${cuda_-bin}/cuda-gdb”

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


    愉快的bug搜索。

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