Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[GSD-13651] Level Zero Sysman gaps on Arc Pro B70 (BMG, PCI id 0xe223): temperature, memory bandwidth, device health, firmware version

未关闭
#1,013 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
cpp, linux

调研方向

Reproduce the B70 behavior with zello_sysman or xpu-smi discovery -j and compare the failing Sysman calls with an Arc Pro B60. Start by locating the Sysman device-support table or per-device handlers mentioned in the report. Done means B70 temperature, bandwidth, health, RAS, and firmware queries no longer return unsupported or empty results, with appropriate coverage for the affected device ID.

由索引模型根据 Issue 内容生成。

描述

Component: Level Zero Sysman Status: Needs Feedback

Summary

On Arc Pro B70 workstation GPUs (BMG, PCI device id 0xe223), several Level Zero Sysman APIs return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE or empty enumerations, even though the equivalent data is available at the kernel level through /sys/class/hwmon (xe driver). Arc Pro B60 (0xe211) on the same software stack is fully functional.

Environment

  • Host: Ubuntu 26.04.1 LTS, kernel 7.0.0-34-generic
  • GPU driver: in-tree xe (loaded, GuC bmg_guc_70.bin v70.58.0, HuC bmg_huc.bin v8.2.10, DMC bmg_dmc.bin)
  • Observed on 8× 0xe223 on the same host, consistent per device.

What xpumd / zes* reports (via https://github.com/intel/xpumanager)

Per-device during startup:

Device GetHealthStatusExt() failed: complete device health status not available
  error=ERROR_UNSUPPORTED_FEATURE  (zesDeviceGetState / zesDeviceGetSubState)
Memory GetBandwidth() failed: no BW metrics available
  error=ERROR_UNSUPPORTED_FEATURE  (zesMemoryGetBandwidth)
Sysman temperature sensors   created: 0, enumerated: 0  (zesDeviceEnumTemperatureSensors)
Sysman RAS error sets        created: 0, enumerated: 0  (zesDeviceEnumRasErrorSets)
hw.firmware_version          ""     (zesDeviceGetProperties → modelName OK, firmwareVersion empty)

Working on the same device: engine groups (14), frequency domains (2), power domains (2).

What the kernel exposes (same host, same device)

Every B70 has an xe-named hwmon device under /sys/class/hwmon with:

  • temp2..temp21 + temp*_label ("vram", "mctrl", "pcie", "vram_ch_0..3", ...) → 20+ live temperature sensors, sane readings
  • energy1_input, energy2_input → monotonic card + package energy counters
  • fan1_input → RPM
  • in*_input / curr*_input → voltages / currents (per card)

So the data is in-kernel; the gap is in the user-space Level Zero Sysman implementation for this device ID.

Comparison: B60 vs B70 on the same stack

Metric B60 (0xe211) B70 (0xe223)
zesDeviceGetState ✔ UNSUPPORTED_FEATURE
zesMemoryGetBandwidth ✔ UNSUPPORTED_FEATURE
zesDeviceEnumTemperatureSensors ✔ (N > 0) 0 enumerated
zesDeviceEnumRasErrorSets ✔ 0 enumerated
firmwareVersion string populated empty
zesDeviceEnumFrequencyDomains ✔ ✔
zesDeviceEnumEngineGroups ✔ ✔
zesDeviceEnumPowerDomains ✔ ✔

Same host OS, same compute-runtime, same xpumd / chart build — only the device id differs.

Reproducer

Any zesXxxEnum / zesXxxGet call against the B70's Sysman handle will reproduce. Easiest standalone: zello_sysman (or xpu-smi discovery -j) against an Arc Pro B70.

Likely area

Looks like the Sysman device-support table / per-device handlers haven't been extended for BMG workstation variants beyond the B60 range (0xe210..0xe212). The newer datacenter range (0xe220..0xe223) hits the fall-through path and returns UNSUPPORTED_FEATURE.

Impact

The gaps block xpumanager / xpu-smi / otelcol-intelxpu temperature, bandwidth, and health reporting on every B70 host, so Grafana dashboards source these metrics as "No data" even though the hardware is producing them.

Happy to collect anything else useful (strace/ltrace of a Sysman call, specific ze_result_t values, xpu-smi JSON dumps). Thanks!

主要语言
C++
星标
1.5k
派生
303
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

intel/compute-runtime 的其他 Issue

查看 intel/compute-runtime 的全部 Issue

相似的 Issue

更多 C++ Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。