dcgmi diag报错Diagnostic can only be performed on a homogeneous group of GPUs.

错误信息

dcgmi diag -r 3

bash 复制代码
Error: Diagnostic can only be performed on a homogeneous group of GPUs.

错误含义

DCGM 诊断要求在完全同构的 GPU 组上运行,同构指:

  • ✅ 相同的 GPU 型号
  • ✅ 相同的显存大小
  • ✅ 相同的计算能力
  • ✅ 相同的 VBIOS 版本

🛠️ 排查步骤

步骤1: 检查 GPU 基本信息

bash 复制代码
# 查看所有GPU
nvidia-smi

检查点:

  • 确认所有 GPU 型号是否相同
  • 确认显存大小是否一致

步骤2: 检查 GPU 详细规格

bash 复制代码
# 查看设备ID、显存和计算能力
~$ nvidia-smi --query-gpu=index,name,pci.device_id,memory.total,compute_cap --format=csv
index, name, pci.device_id, memory.total [MiB], compute_cap
0, NVIDIA GeForce RTX 4090, 0x268410DE, 24564 MiB, 8.9
1, NVIDIA GeForce RTX 4090, 0x268410DE, 24564 MiB, 8.9
......

检查点:

  • pci.device_id 是否一致
  • memory.total 是否相同
  • compute_cap 是否相同

步骤3: 检查 VBIOS 版本

bash 复制代码
# 查看每个GPU的VBIOS版本
~$ nvidia-smi --query-gpu=index,gpu_name,pci.bus_id,vbios_version,driver_version --format=csv
index, name, pci.bus_id, vbios_version, driver_version
0, NVIDIA GeForce RTX 4090, 00000000:01:00.0, 95.02.3C.08.1E, 550.54.15
1, NVIDIA GeForce RTX 4090, 00000000:24:00.0, 95.02.3C.00.EC, 550.54.15 ← 不同的VBIOS
2, NVIDIA GeForce RTX 4090, 00000000:41:00.0, 95.02.3C.08.1E, 550.54.15
3, NVIDIA GeForce RTX 4090, 00000000:61:00.0, 95.02.3C.08.1E, 550.54.15
......

示例输出(有问题):

复制代码
0, NVIDIA GeForce RTX 4090, 95.02.3C.08.1E, 550.54.15
1, NVIDIA GeForce RTX 4090, 95.02.3C.00.EC, 550.54.15  ← 不同的VBIOS
2, NVIDIA GeForce RTX 4090, 95.02.3C.08.1E, 550.54.15
3, NVIDIA GeForce RTX 4090, 95.02.3C.08.1E, 550.54.15
...

检查点:

  • ⚠️ 如果 vbios_version 不一致,这就是问题根源!

步骤4: 验证 DCGM 检测到的 GPU

bash 复制代码
# 查看DCGM发现的GPU列表
dcgmi discovery -l

# 查看DCGM的GPU分组
dcgmi group -l

检查点:

  • 确认 DCGM 能看到所有 GPU
  • 查看默认组 DCGM_ALL_SUPPORTED_GPUS 包含哪些 GPU

🔧解决方法

🔧dcgmi group -l 无法找到GPU

bash 复制代码
#检查nvidia-dcgm服务状态,不是运行中就restart
sudo systemctl status nvidia-dcgm.service
sudo systemctl restart nvidia-dcgm.service

🔧异构GPU导致

方案1: 单独对单个GPU进行诊断

bash 复制代码
#-i参数指定GPU index
dcgmi diag r 3 -i 0

方案2: 创建同构 GPU 组进行诊断

如果只是部分 GPU 的 VBIOS 版本不同,可以创建只包含相同 VBIOS 版本 GPU 的组。

步骤A: 分析 VBIOS 版本分布

根据步骤3的输出,整理出哪些 GPU 的 VBIOS 版本相同:

复制代码
示例:
- GPU 0, 2, 3, 4, 5: VBIOS 95.02.3C.08.1E (5个GPU)
- GPU 1, 6:          VBIOS 95.02.3C.00.EC (2个GPU)
- GPU 7:             VBIOS 95.02.3C.00.02 (1个GPU)
步骤B: 创建同构 GPU 组
bash 复制代码
# 创建包含相同VBIOS版本GPU的组
# 选择数量最多的那一组,例如GPU 0,2,3,4,5
dcgmi group -c homogeneous_group -a 0,2,3,4,5

# 查看创建的组
dcgmi group -l

输出示例:

复制代码
| -> 2              |
|    -> Group ID    | 2                                  |
|    -> Group Name  | homogeneous_group                  |
|    -> Entities    | GPU 0, GPU 2, GPU 3, GPU 4, GPU 5  |
步骤C: 对同构组运行诊断
bash 复制代码
# 使用组ID(例如2)运行诊断
dcgmi diag -r 3 -g 2
步骤D: 清理测试组(可选)
bash 复制代码
# 完成后删除测试组
dcgmi group -d 2

方案3: 更新固件统一所有 GPU 的 VBIOS 版本

相关推荐
墨风如雪3 天前
英伟达Rubin炸场:算力暴涨5倍,黄仁勋要让AI推理“白菜价”
aigc·nvidia
chinamaoge5 天前
NVIDIA大模型推理框架:TensorRT-LLM软件流程(三)trtllm-serve启动流程–HTTP Request
nvidia·大模型推理·tensorrt-llm
闻道且行之7 天前
Ubuntu 20.04 下 NVIDIA Tesla P40 驱动安装指南(核显桌面 + 计算卡分离方案)
linux·运维·ubuntu·nvidia·p40
AI视觉网奇9 天前
NVIDIA 生成key
笔记·nvidia
张火火isgudi10 天前
fedora43 安装 nvidia 驱动以及开启视频编解码硬件加速
linux·运维·视频编解码·nvidia
AI大模型学徒18 天前
5090NVIDIA、CUDAToolkit、cuDNN、Miniconda、PyTorch安装
pytorch·nvidia·cudnn·nimiconda·5090驱动安装·cudatoolkit
驱动探索者20 天前
[缩略语大全]之[NVIDIA]篇
ai·nvidia
扫地的小何尚21 天前
NVIDIA CUDA-Q QEC权威指南:实时解码、GPU解码器与AI推理增强
人工智能·深度学习·算法·llm·gpu·量子计算·nvidia
玄德公笔记1 个月前
GPU节点接入k8s集群的处理
docker·kubernetes·gpu·containerd·nvidia·runtime·fabricmanager