【问题标题】:cuda-gdb can't see available devicescuda-gdb 看不到可用设备
【发布时间】: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,那么它们可能都运行。

标签: cuda cuda-gdb


【解决方案1】:

尝试运行“lsof /dev/nvidia*”,它会告诉你哪个程序保持设备节点打开。如果 X 正在使用这些 GPU,这将从输出中显而易见。

【讨论】:

    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 2020-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多