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"
相关推荐
Scott9999HH6 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
迅易科技6 小时前
从场景验证到Agent上线:迅易 × WorkBuddy如何帮助企业建设AI能力?
人工智能·ai·腾讯云
AI云海7 小时前
python 列表、元组、集合和字典
开发语言·python
神奇霸王龙8 小时前
GB/T 46886 闭环屠夫:5 旗舰多模态 LLM 工业质检实测
人工智能·计算机视觉·ai·开源·ai编程·本地部署
二十雨辰8 小时前
[爬虫]-Urllib
爬虫·python
三声三视9 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
fthux9 小时前
“装闭”,让装修套路“装”不下去
人工智能·ai·开源·github·open source
玉鸯10 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_4462608510 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask