【发布时间】:2014-11-25 05:23:13
【问题描述】:
我在 shell 中运行这个命令并得到:
C:\Users\me>nvidia-smi -L
GPU 0: Quadro K2000 (UUID: GPU-b1ac50d1-019c-58e1-3598-4877fddd3f17)
GPU 1: Quadro 2000 (UUID: GPU-1f22a253-c329-dfb7-0db4-e005efb6a4c7)
但在我的代码中,当我运行 cuDeviceGetName(.., ID) 其中 ID 是 nvidia-smi 输出给出的 ID 时,设备已被反转: GPU 0 变为 Quadro 2000,GPU 1 变为 Quadro K2000。
这是预期的行为还是错误?有谁知道让 nvidia-smi 获得 GPU 的“真实”ID 的解决方法?我可以使用 UUID 通过 nvmlDeviceGetUUID() 获得正确的设备,但使用 nvml API 对于我想要实现的目标来说似乎有点太复杂了。
This 的问题讨论了 CUDA 如何为设备分配 ID,但没有明确的结论。
我正在使用 CUDA 6.5。
编辑:我已经查看了 nvidia-smi 联机帮助页(应该早点这样做......)。它指出:
“建议需要一致性的用户使用 UUDI 或 PCI 总线 ID,因为不能保证设备枚举顺序是一致的”
仍在寻找杂物...
【问题讨论】:
标签: cuda