Tôi đang chạy lệnh này vào một vỏ và nhận được:Sự mâu thuẫn của các ID giữa 'nvidia-smi -L' và cuDeviceGetName()
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)
Nhưng trong mã của tôi, khi tôi chạy cuDeviceGetName (.. , ID) trong đó ID là ID được cung cấp bởi đầu ra nvidia-smi, các thiết bị đã được đảo ngược: GPU 0 trở thành Quadro 2000 và GPU 1 trở thành Quadro K2000.
Đây có phải là hành vi dự kiến hoặc lỗi không? Có ai biết một workaround để làm cho nvidia-smi có được 'thực' ID của GPU? Tôi có thể sử dụng UUID để có được thiết bị phù hợp với nvmlDeviceGetUUID() nhưng việc sử dụng API nvml có vẻ hơi phức tạp đối với những gì tôi đang cố gắng đạt được.
This câu hỏi thảo luận cách CUDA gán ID cho thiết bị mà không có kết luận rõ ràng.
Tôi đang sử dụng CUDA 6.5.
CHỈNH SỬA: Tôi đã xem qua trang web nvidia-smi (nên đã thực hiện điều đó sớm hơn ...). Nó nói:
"Đó là khuyến cáo mà người dùng mong muốn consistencyuse hoặc UUDI hoặc ID bus PCI, kể từ khi thiết bị liệt kê trật tự không đảm bảo phù hợp"
Vẫn đang tìm kiếm một kludge ...
Thậm chí tho tài liệu cũng nói rằng nó sắp xếp bởi pciBusId, tôi nghi ngờ rằng đó là tiêu chí duy nhất kể từ khi trên máy tính của tôi 2x Tesla K80 đang trên pciBusId cùng. Tôi tự hỏi đâu là thứ tự đúng cho hai đứa trẻ đó. –
"2x Tesla K80 trên cùng một pciBusid" không thể. Hãy xem kỹ đầu ra của thiết bị của bạn –
Vâng, có thể có một số thẻ trên cùng một pciBusId (được báo cáo bởi http://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE.html#group__CUDART__DEVICE_1g1bf9d625a931d657e08db2b4391170f0), chỉ có thể thay đổi được bởi pciDeviceID. Lưu lượng bản in ví dụ: Thẻ đầu tiên: pciBusID: 0000: 00: 04.0 thẻ thứ hai: pciBusID: 0000: 00: 05.0 Tuy nhiên, cả hai đều có cùng id bus. "0000: 00: 05.0" được tạo bởi "[tên miền]: [xe buýt]: [thiết bị]. [Chức năng]" (xem http://docs.nvidia.com/cuda/cuda-runtime-api/group__CUDART__DEVICE. html # group__CUDART__DEVICE_1gea264dad3d8c4898e0b82213c0253def) –