You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已设置CUDA_VISIBLE_DEVICES,如何打印程序运行的GPU索引?

获取当前程序运行的GPU索引

你需要区分两种场景:程序内部感知到的逻辑GPU索引,以及对应的物理GPU硬件索引,以下是具体实现方法:

1. 获取程序感知的逻辑GPU索引

当你设置os.environ["CUDA_VISIBLE_DEVICES"] = "1"后,系统会把指定的物理GPU映射为程序内部的逻辑0号GPU(因为只暴露了这一个GPU)。可以用主流框架的API直接获取:

PyTorch 实现

import torch
if torch.cuda.is_available():
    current_logic_idx = torch.cuda.current_device()
    print(f"程序逻辑GPU索引: {current_logic_idx}")
else:
    print("当前无可用GPU")

TensorFlow 实现

import tensorflow as tf
gpus = tf.config.list_physical_devices('GPU')
if gpus:
    current_logic_idx = gpus[0].name.split(':')[-1]
    print(f"程序逻辑GPU索引: {current_logic_idx}")
else:
    print("当前无可用GPU")

2. 获取实际物理GPU索引

如果需要确认你实际指定的物理GPU编号,直接读取环境变量即可:

import os
physical_gpu_ids = os.environ.get("CUDA_VISIBLE_DEVICES", "未指定GPU")
print(f"实际使用的物理GPU索引: {physical_gpu_ids}")

如果你的程序需要同时使用多个GPU,也可以查看所有暴露给程序的物理GPU列表:

import os
print(f"所有可见物理GPU索引: {os.environ.get('CUDA_VISIBLE_DEVICES', '无')}")

内容的提问来源于stack exchange,提问作者Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:03:10