确保设备索引与 GPU 的物理连接顺序一致的方法

问题描述

在使用以下指令来指定使用的GPU序号时,可能会遇到设备索引与 GPU 的物理连接顺序不一致的问题,即你指定了GPU 3来运行代码,但代码却是在其他GPU上运行的。

## python
os.environ["CUDA_VISIBLE_DEVICES"] = "3"
## shell
export CUDA_VISIBLE_DEVICES=3

解决方法

## python
os.environ['CUDA_DEVICE_ORDER'] = "PCI_BUS_ID"
## shell
export CUDA_DEVICE_ORDER=PCI_BUS_ID

该指令用于指定CUDA设备的顺序。通过设置该指令,CUDA将按照GPU的PCI总线ID来分配设备索引,确保设备索引与GPU的物理连接顺序一致。这可以在多GPU系统中选择正确的GPU来运行程序。

## python
os.environ['CUDA_DEVICE_ORDER'] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "3"
## shell
export CUDA_DEVICE_ORDER=PCI_BUS_ID
export CUDA_VISIBLE_DEVICES=3

猜你喜欢

转载自blog.csdn.net/qq_38964360/article/details/135176976
GPU