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 版本

相关推荐
吴佳浩5 小时前
GPU 编号错乱踩坑指南:PyTorch cuda 编号与 nvidia-smi 不一致
人工智能·pytorch·nvidia
cnbestec3 天前
GTC 2026现场手教UR机器人!——优傲发布AI训练器,打造工业级物理智能训练平台
nvidia·gtc·ur协作机器人·优傲
诶尔法Alpha3 天前
jetson设备上自己手动编译适配版本的onnxruntime全过程,及报错的解决方法
nvidia·onnxruntime·jetson
伊织code3 天前
AI 会议活动及2026活动计划一览
人工智能·ai·nvidia·活动·ces·waic·vivatech
码路飞4 天前
GTC 2026 最后一天,老黄扔了个 NemoClaw 出来,我连夜装上试了一下
人工智能·llm·nvidia
蜡台4 天前
整合一些 免费甚至无限量token平台,方便OpenClaw 使用,及一些相关使用配置代码
nvidia·token·ollama·openrouter·openclaw·龙虾
AI精钢5 天前
NVIDIA 可以挑战中国 AI 在开源社区的统治地位吗?
人工智能·ai·开源·llm·nvidia·open source·open weight
伟大的大威9 天前
NVIDIA DGX Spark (Blackwell GB10) 双机 196B Step 3.5 Flash 大模型部署完整实录
分布式·spark·nvidia
Chasing Aurora1 个月前
深度学习 的GPU介绍
人工智能·深度学习·gpu算力·nvidia·智能电视·英伟达·vgpu
小溪彼岸1 个月前
NVIDIA免费API的申请与配置
nvidia