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

时间:2018-07-20 14:40:13

标签: cuda remote-debugging

我正在研究OS X High Sierra。在这台机器上,我没有Nvidia GPU,因此我想在远程Ubuntu上开发和运行代码。我使用ssh连接到我的家用ubuntu桌面。

我已经在两台计算机上安装了CUDA工具包9.2。我遵循了this guide-用nsight(来自样本的简单cuFFT)创建了一个新的cuda项目,并建立了远程连接。

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

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工具包版本是否应该相同?


更新:我一直在对该主题进行进一步的搜索。在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。我将不得不从源代码安装它。如果成功,我将发布答案。

1 个答案:

答案 0 :(得分:1)

与此topic一致,我发现MAC的Cuda工具包中没有cuda-gdb功能。 如上主题所述,我试图从source安装它。我没有成功-执行“制作”步骤时出错。

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

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