我有一个配备 2 个 Geforce 480GTX 卡的 CentOS 6.0 x64 服务器,我正在使用它来调试我的 cuda 程序。今天我尝试在我的笔记本上使用 cuda-gdb 来远程调试我的程序。所以我尝试这样:
我打开我的 bash shell 并使用 ssh 连接到服务器,然后进入程序所在的目录。
我通过键入以下内容启动 cuda-gdbserver:cuda-gdbserver :9999 ./a.out
之后我在 bash 上得到了这个:
进程 ./a.out 创建;PID = 4356
监听 9999 端口
看来 cuda-gdbserver 运行良好。
所以我打开了一个新的 bash shell,并决定使用 cuda-gdb 调试程序。首先我打开了cuda-gdb,现在shell是这样的:(cuda-gdb)
然后我尝试连接远程服务器:target remote 192.168.2.105:9999
其中 192.168.2.105 是我的服务器的 IP 地址
但是,令我失望的是,我从 shell 收到了错误信息,上面写着:192.168.2.105:9999: No route to host。
怎么了?我google了一段时间,有人告诉我应该停止服务器上的iptables服务,所以我按照他们说的做了(service iptables stop),但它仍然不起作用。对了,我也试过cuda-gdb中的target extended-remote命令,不行。
另外服务器和我的笔记本(运行ubuntu 12.10 x64)都安装了cuda toolkit 5.5的同一个subversion,我可以在我的服务器本地调试好。
那么,有人知道我需要做什么吗?真的让我困惑了很久(其实我很久以前就遇到过这个问题)。我要感谢任何提前回答我问题的人!