Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの 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 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
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
フォーク
304
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

intel/compute-runtime のほかの issue

intel/compute-runtime の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。