CUDA_VISIBLE_DEVICES与nvidia-smi显卡序号不一致的问题

CUDA_VISIBLE_DEVICES与nvidia-smi显卡序号不一致的问题

情况描述:

物理插槽从上到下:RTX5090、RTX3090、RTX5090
nvidia-smi顺序:RTX5090、RTX3090、RTX5090
CUDA_VISIBLE_DEVICES实测顺序:RTX5090、RTX5090RTX3090

导致使用CUDA_VISIBLE_DEVICES限制程序运行的显卡时,发现实际情况与预期不符。

原因分析:CUDA 的默认排序机制

在默认情况下,CUDA 驱动程序(以及 PyTorch/TensorFlow 等框架)倾向于按照计算能力(Performance/Fastest First) 来给 GPU 排序,而不是按照物理插槽(PCI Bus ID)的顺序。

解决方法:使用环境变量,要求CUDA强制按照物理插槽顺序进行排序

bash 复制代码
CUDA_DEVICE_ORDER=PCI_BUS_ID

例如在systemd的service脚本中写:

bash 复制代码
Environment="CUDA_DEVICE_ORDER=PCI_BUS_ID"
Environment="CUDA_VISIBLE_DEVICES=1"
相关推荐
yuhulkjv3351 小时前
Claude表格复制到word不再崩溃,AI导出鸭批量导出+格式无损一键搞定
人工智能·ai·c#·word·ai导出鸭
从零开始学习人工智能2 小时前
【踩坑实录】WSL2 解决 onnxruntime\-gpu ImportError: libcudart\.so\.13 无 CUDA13 运行库问题
python
卷无止境4 小时前
在 awesome-fastapi 里,哪些库值得一看?
后端·python
zhanghaha13144 小时前
Python进阶教程:6_JSON 数据解析 —— 新手完全指南
开发语言·python·json
Python私教4 小时前
API 输出模型怎么设计:从 model_dump() 到显式展示层
python·fastapi
Python私教5 小时前
本地 AI 工具服务该绑定 127.0.0.1 还是 0.0.0.0?
python·fastapi
卷无止境5 小时前
FastAPI 的Admin面板生态
后端·python
ctlover5 小时前
Streamlit 框架
python
JaydenAI6 小时前
[基于OpenEvals的自动化评估-10]针对Agent对话的评估[上篇]
ai·langchain·agent·evaluation·openevals