【发布时间】:2013-03-04 21:11:25
【问题描述】:
我正在尝试使用 cuda-gdb 通过 ssh 在远程集群上调试我的代码。节点上有 6 个 Tesla C2070 gpu:
$ deviceQuery | grep "^Device"
Device 0: "Tesla C2070"
Device 1: "Tesla C2070"
Device 2: "Tesla C2070"
Device 3: "Tesla C2070"
Device 4: "Tesla C2070"
Device 5: "Tesla C2070"
但是当我在 cuda-gdb 下运行代码时,它仍然给我错误代码=24: "致命:所有CUDA设备都用于显示,不能一边调试一边使用。"
我已经设置了-gencode arch=compute_20,code=sm_20 并且编译良好。当我在调试器中键入info cuda devices 时,它会吐出No CUDA devices。我也试过导出CUDA_VISIBLE_DEVICES="0,2",但还是不行。我该怎么办?
我正在使用 cuda 5.0。提前致谢。
【问题讨论】:
-
X 是否在远程集群节点上运行?
-
我不确定:$ ps -e |grep X,结果是 00:00:16 Xorg。但这不应该只是将可见 gpu 减少 1 吗?
-
这取决于
/etc/X11/xorg.conf文件的设置方式。可以将 X 服务器配置为在所有 GPU 上启动。 -
哦,谢谢。那我想我得联系管理员了。
-
您可以依次尝试
export CUDA_VISIBLE_DEVICES="0"然后...="1"然后...="2"等等,但很可能如果不止一个GPU 运行X,那么它们可能都运行。