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

发布时间:2023年12月24日

问题描述

在使用以下指令来指定使用的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
文章来源:https://blog.csdn.net/qq_38964360/article/details/135176976
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。