1

我在我的 Ubuntu 12.10 中安装了 cuda 5,它运行良好,我也可以在终端中通过 cuda-gdb 编译和调试。我正在尝试使用 nsight,它可以毫无问题地编译和执行我的代码,但是当我尝试调试时出现以下错误

Error in final launch sequence
Failed to execute MI command:
-gdb-set cuda api_failures ignore
Error message from debugger back end:
Undefined set cuda command: "api_failures ignore".  Try "help set cuda".
Undefined set cuda command: "api_failures ignore".  Try "help set cuda".

我正在使用 ubuntu 12.10 64 位并使用 optirun (bumblebee) 启动 cuda 可执行文件和 nsight,因为我有 GTX 675M (optimus)。我通过 apt-get 安装了 cuda-gdb,我得到了 4.2 版:

frederico@zeus:~/Dropbox/coisas/projetos/delta_cuda$ cuda-gdb --version
NVIDIA (R) CUDA Debugger
4.2 release
Portions Copyright (C) 2007-2012 NVIDIA Corporation
GNU gdb (GDB) 7.2

我认为这不是问题,因为我可以单独使用它(无需 nsight)。我也将 nsight 更改为使用 optirun 启动 cuda-gdb,但仍然收到相同的错误。

4

3 回答 3

3

问题是 cuda-gdb 的版本,我必须使用 cuda-gdb 版本 5。它带有工具包版本 5,只是对 /usr/bin 进行了象征性的舔,它就可以工作了。

于 2012-10-21T00:16:33.723 回答
2

可以使用nsight和 bumblebee 调试 CUDA 程序。(nsight v.5.0.0,大黄蜂 3.2.1,Debian sid)

您只需在以下位置替换调试器命令行(CUDA GDB Executable): 项目资源管理器->右键单击您的项目->选择“调试为”->单击“调试配置...”->选择“调试器”选项卡

CUDA GDB 可执行文件:(optirun --no-xorg cuda-gdb 另一种可能性是制作一个小的 shell 脚本,如下所示/usr/bin/opti-cuda-gdb:)

#!/bin/bash
optirun --no-xorg /usr/bin/cuda-gdb $*

这样 optirun 不会为 gdb 启动虚拟屏幕,GPU 不接受图形并且可以进行调试。

希望有帮助!

于 2013-10-26T08:08:13.600 回答
1

无需创建此链接。

您可以在Run/Debug Configurations...菜单中选择cuda-gdbnsight 使用的可执行文件。在此菜单中,单击C/C++ Application下的应用程序,然后选择Debugger选项卡,您可以在其中浏览文件系统并设置 cuda-gdb-5.0 可执行文件的路径。

于 2012-12-18T09:58:40.260 回答