在 Ubuntu 主机上远程调试 CUDA 应用程序 - 未知错误

Remote debugging of CUDA application on Ubuntu host - unknown error

我正在研究 OS X 高山脉。在这个 machine 上我没有 Nvidia GPU,因此我想在远程 Ubuntu 上开发和 运行 我的代码。我使用 ssh 连接到我家的 ubuntu 桌面。

我已经在两个 machines 上安装了 CUDA 工具包 9.2。我遵循 this guide - 使用 nsight 创建了新的 cuda 项目(来自示例的简单 cuFFT)并设置了远程连接。

我能够构建并且 运行 我的应用程序没有错误(构建也在远程主机上执行)。但是,我也希望能够调试应用程序。在调试模式下(在远程主机上)构建应用程序并 运行 调试器弹出以下错误:

Error in services launch sequence
Error while launching command /Developer/NVIDIA/CUDA- 9.2/bin/cuda-gdb --interpreter mi2 --nx --cuda-use-lockfile=0
Error while launching command /Developer/NVIDIA/CUDA- 9.2/bin/cuda-gdb --interpreter mi2 --nx --cuda-use-lockfile=0
Cannot run program "/Developer/NVIDIA/CUDA-9.2/bin/cuda-gdb": 
Unknown reason

有没有人遇到过这种错误? 我该如何解决?试试早期版本的 CUDA 工具包?主机和本地 CUDA 工具包的版本应该相同 machines?


更新:我一直在进一步搜索这个主题。在 getting started cuda gdb 文档中,据说我可以执行以下命令:

$ sudo chgrp procmod /Developer/NVIDIA/CUDA-9.2/bin/cuda-binary-gdb 
$ sudo chmod 2755 /Developer/NVIDIA/CUDA-9.2/bin/cuda-binary-gdb 
$ sudo chmod 755 /Developer/NVIDIA/CUDA-9.2/bin/cuda-gdb

但是,我无法在上述目录中找到 cuda-binary-gdbcuda-gdb 文件。我需要安装它们吗?它们应该已经与 CUDA 工具包一起安装了。

编辑 2. 我发现了问题 source。如那里所述,mac 的 CUDA 工具包不再包含 gbd。我将不得不从源代码安装它。如果我成功了,我会post一个答案。

同意这个 topic,我发现 MAC 的 Cuda 工具包中没有包含 cuda-gdb 功能。 我试图按照上面主题中的建议从 source 安装它。我没有成功 - "make" 步骤执行时出错。

据我所知,为了使用 NSight for Eclipse(或任何其他 IDE)从 MAC 机器远程调试 cuda 代码,必须 运行 gdb MAC 机器上安装了调试器。因此,我无法使用 Nsight 进行调试。在调试配置 -> 调试器选项卡中,系统提示我选择本地可执行文件,但没有选择远程可执行文件的选项。

但是,完全可以使用本地或远程调试器在终端中调试代码。 Cuda-gdb 包含在 Linux 版本的 CUDA-toolkit 中,我能够通过在远程主机上 运行ning cuda-gdb 在终端中调试我的代码。