在工作站上编码时,有没有人在服务器上调试CUDA代码的经验?
我的笔记本电脑(Thinkpad T400)不支持CUDA,但我可以使用一对运行Linux的NVIDIA GTX 295卡访问服务器。
我可以使用NVidia的Visual Studio工具在服务器上远程调试吗?
如果失败了,我的笔记本电脑上也运行了一个Ubuntu VM。是否有可以在Linux下使用的调试器在服务器上进行调试?
我真的不想再购买带有双NVidia卡的笔记本电脑。
答案 0 :(得分:3)
在远程linux机器(如服务器)上进行c开发很常见。您可以从任何客户端(如您的笔记本电脑)ssh到服务器上编译和运行代码,就像您坐在机器上一样,并且可以使用gdb在终端中调试代码。您还可以通过ssh转发X11,将ddd用作gdb的图形前端,或者使用eclipse等Linux IDE。
您可以使用cuda-gdb以完全相同的方式在终端中调试您的CUDA代码。不幸的是,还没有针对Linux的visual cuda调试器。但是,看起来您可以将ddd与cuda-gdb [source]一起使用,因为您有两个gpus。我不确定using cuda-gdb in eclipse。
答案 1 :(得分:2)
是的,你可以,但你需要购买Parallel Nsight Studio from Nvidia 在远程机器上安装NsightDebugServer后,您可以从中上传和调试程序 你的cuda-less笔记本电脑。
<强>更新强>
结果这个解决方案需要一个WINDOWS服务器才能运行NsightDebugServer。
要从笔记本电脑连接到Linux计算机,请使用远程连接。 安装putty和一个Xserver for Windows,只需登录 ssh -X username @ cudaserver。 环境不像Visual Studio那样华丽,但您可以执行调试的基本步骤。
Eclipse“可能”对远程gdb服务器有一些支持。从未尝试过(Emacs + gdb对我来说足够了)