Skip to content

v0.28.0

Choose a tag to compare

@inureyes inureyes released this 17 Oct 07:31
· 17 commits to main since this release

Added NVIDIA RTX Spark N1X and native Windows ARM64 support with DLA metrics on the GPU row, read the N1X DLA engine clock, and fixed false 100% Intel Xe utilization from frozen GT idle counters.

all-smi v0.28.0

4 commits since v0.27.1. (3381 lines added, 261 lines deleted)

New Features

  • Added NVIDIA RTX Spark N1X support: the integrated NPU folds into the SoC GPU row as a DLA gauge and sparkline instead of a separate device, and the GPU reports unified memory over NVLink-C2C without PCIe gauges (#460).
  • Added native Windows ARM64 (aarch64-pc-windows-msvc) builds and the all-smi-windows-aarch64 release asset (#460).
  • Added all_smi_dla_power_watts, all_smi_dla_frequency_mhz, all_smi_dla_clock_memory_mhz, all_smi_dla_temperature_celsius, and all_smi_dla_max_frequency_mhz Prometheus gauges, read back by remote view (#460, #462).
  • Added the N1X DLA engine clock, read from D3DKMT node performance data because NVML reports it as unsupported (#462).

Improvements

  • Added Windows ARM CPU detection with P/E core mapping (Cortex-X925/A725) and a registry processor-name fallback (#460).
  • Added Windows thermal-zone performance counters as a last-resort CPU temperature source after the vendor sensors (#460).
  • Filled WDDM per-process GPU memory from PDH samples when NVML reports it unavailable (#460).
  • Stopped polling NVML DLA clock types that answer NotSupported after the first probe (#462).

Bug Fixes

  • Fixed constant false 100% Intel Xe GPU utilization when a GT idle-residency counter never advances; such GTs now read as stalled (#458).
  • Fixed the nvidia-smi CSV fallback dividing power draw by 1000 (#460).
  • Stopped retrying the root\WMI temperature query every poll after an access-denied error (#460).

CI/CD Improvements

  • Added a windows-11-arm CI job running clippy, library tests, and a release build (#460).
  • Added all-smi-windows-aarch64 to the release matrix, with a composite action that puts LLVM/clang on PATH (#460).
  • Signed the Windows ARM64 binary on the x86_64 signing runner; the all-smi-windows-aarch64 asset was rebuilt and replaced with an Authenticode-signed binary after publication (#464).

Technical Details

  • The DLA engine clock is read before the poll's NVML queries reach the NPU, because those queries briefly raise it to about 1105 MHz (#462).
  • D3DKMTEnumAdapters3 is resolved from gdi32.dll at run time so the binary still starts on older Windows 10 (#462).
  • Enabled the Wdk_Graphics_Direct3D, Win32_System_Registry, and Win32_System_SystemInformation features of the windows crate (#460, #462).

Dependencies

None

Breaking Changes

  • Building from source on Windows ARM64 requires LLVM with clang on PATH, because ring and aws-lc-sys cannot build there with MSVC alone (#460).

Known Issues

  • Tags created before v0.28.0 cannot rebuild the Windows ARM64 target through the release self-healing path.

What's Changed

  • fix: ignore frozen Xe GT idle counters in utilization fallback by @inureyes in #458
  • feat: add NVIDIA RTX Spark N1X and Windows ARM64 support by @inureyes in #460
  • feat: read N1X DLA engine clock from D3DKMT node perf data by @inureyes in #462

Full Changelog: v0.27.1...v0.28.0