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

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

情况描述:

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

导致使用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"
相关推荐
最强小杰27 分钟前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai
DeepVisionary1 小时前
为拿并网许可,OpenAI在佐治亚新园区同意高峰期断电三成
python·自动化
七夜zippoe1 小时前
Agent 错误处理体系:分类、重试、降级与熔断设计
ai·agent·降级·错误处理·熔断设计
VIP_CQCRE2 小时前
内容自动化越跑越乱?先补上状态、去重和失败恢复
python·ai·工作流·幂等设计·内容自动化
我喜欢就喜欢2 小时前
RAG 重排序 Rerank 实战:用 bge-reranker 把 Top-K 命中率拉回来
python·大模型·向量检索·rag·rerank
专注仿真2 小时前
卷积神经网络(CNN)算法详解
人工智能·python·算法·代码·大模型训练
isfox2 小时前
Python3 协程:异步编程的核心机制与实战
python
用户298698530142 小时前
Python 将 Markdown 批量转为 HTML:单文件与目录遍历两种实现
python·html·markdown
miofly2 小时前
GitHub 今日推荐|auto-ontology:给 Agent 装上企业数据的语义索引
python·开源·github