Hardware telemetry monitoring often feels like a game of broken telephone — data from CPUs and GPUs filtered through layers of abstraction that may distort or limit access to raw metrics. hw-smi takes a different approach: it skips the usual OS-level abstractions and reads hardware telemetry directly from vendor APIs. This provides a more transparent view of what data is actually available and reliable across Nvidia, AMD, and Intel hardware.
what hw-smi does and how it works
hw-smi is a minimal hardware telemetry monitor written in C++. It targets both Windows and Linux platforms, focusing on real-time CPU and GPU metrics. Unlike typical system monitors that rely on OS APIs or third-party libraries, hw-smi connects directly to vendor-specific telemetry interfaces.
The core of hw-smi is its integration with three major vendor APIs:
- Nvidia’s NVML (NVIDIA Management Library)
- AMD’s ADLX (AMD Display Library) and AMDSMI (AMD System Management Interface)
- Intel’s SYSMAN (System Management API)
By interfacing directly with these, hw-smi bypasses layers like Windows Performance Counters or Linux sysfs, which can introduce latency, abstraction overhead, or incomplete data. This approach grants access to telemetry counters and sensor data that vendors expose but often don’t surface consistently through OS tools.
For user interaction, hw-smi provides a lightweight ASCII-based terminal interface that runs comfortably in headless environments or remote SSH sessions. It supports simple visualizations such as bars or graphs rendered purely in text, avoiding heavy GUI dependencies. The project limits external dependencies to the vendor SDKs needed for building and running.
Under the hood, the architecture is straightforward: the telemetry data is polled periodically from vendor APIs, then rendered in the terminal UI. The focus on minimalism keeps the footprint low, making hw-smi suitable for servers, embedded systems, or developer machines where graphical environments are unnecessary or unavailable.
vendor API compatibility: understanding real-world fragmentation
The most interesting and valuable part of hw-smi is its detailed vendor API compatibility matrix. This matrix is more than documentation — it’s a reality check on how fragmented and inconsistent telemetry APIs are across the major GPU and CPU vendors.
From the matrix, Nvidia’s NVML emerges as the most complete and stable API. It exposes a wide range of metrics reliably, like temperature, fan speed, power usage, clock speeds, memory usage, and utilization percentages. NVML’s maturity means hw-smi can provide detailed telemetry on Nvidia GPUs with relatively few gaps.
AMD’s ADLX and AMDSMI APIs cover a lot but show notable gaps and inconsistencies depending on hardware generation and driver versions. Some metrics are estimated or partially supported. The project tracks these gaps with linked GitHub issues documenting vendor bugs or missing features, which is a valuable resource for anyone relying on AMD telemetry.
Intel’s SYSMAN is the most fragmented and incomplete of the three. Several expected counters are missing or unreliable, and the API surface varies significantly between platforms. hw-smi’s compatibility matrix exposes these caveats clearly, helping users and developers understand the limitations of Intel telemetry APIs.
This explicit tracking of vendor API bugs and quirks sets hw-smi apart from many telemetry tools that either ignore these details or hide them behind abstraction. Knowing exactly which metrics are trustworthy or approximated is crucial for production monitoring and diagnostics.
code quality and design tradeoffs
hw-smi’s codebase is minimal and focused. The direct vendor API integration means it depends heavily on the vendor SDKs but avoids large third-party dependencies or complex frameworks. This choice reduces the attack surface and runtime overhead.
The terminal UI is deliberately basic but effective. It uses ASCII characters to render bar and graph visualizations directly in the terminal, which works well for remote or headless use cases. The tradeoff is obvious: no fancy graphical dashboards or rich UI features, but a very low footprint and maximum compatibility.
The project’s approach to cross-platform support is pragmatic. It handles Windows and Linux, but relies on the underlying vendor SDK support for each platform. This means compatibility and features may vary depending on the driver versions and OS support from Nvidia, AMD, and Intel.
One limitation is that hw-smi does not abstract the vendor APIs into a unified model beyond the compatibility matrix. Users still need to be aware of vendor-specific nuances when interpreting the telemetry data. This is a deliberate choice to maintain transparency and avoid hiding discrepancies.
explore the project
The hw-smi repository centers around C++ source code interfacing with the three vendor APIs mentioned. The project README provides an overview of its goals and the vendor API compatibility matrix, including links to relevant bug reports and issues.
Documentation focuses on the telemetry metrics supported by each vendor API and the current status of their reliability. Since the project avoids heavy dependencies, building it requires the respective vendor SDKs but no additional runtime frameworks.
The terminal UI code is part of the repo, offering simple visualization modes such as bars and graphs that update in real time. This makes hw-smi suitable for monitoring via SSH or on systems without graphical environments.
Overall, the repo is a good reference if you need to understand the state of vendor telemetry APIs or want a lightweight tool that provides direct access to hardware metrics without abstraction overhead.
verdict: who should consider hw-smi
hw-smi is relevant for developers and system administrators who need low-level, real-time hardware telemetry on Nvidia, AMD, or Intel systems without the baggage of heavy dependencies or graphical environments.
Its vendor API compatibility matrix is a standout resource for anyone building cross-platform hardware monitoring tools or diagnostics, providing a clear picture of the real-world limitations and quirks of these APIs.
The project’s minimalist design means it’s less suited if you require feature-rich graphical interfaces or high-level abstractions. Also, because it relies on vendor SDKs, you need to manage those dependencies and their platform-specific quirks.
In production, hw-smi’s direct approach can yield more accurate and timely telemetry data, especially on headless servers or remote systems where GUI tools aren’t practical. The detailed bug tracking in the compatibility matrix also helps set expectations on what metrics are trustworthy.
In short, hw-smi is a practical, transparent tool for anyone who wants to work close to the metal with hardware telemetry and understands the tradeoffs involved in dealing with fragmented vendor APIs.
→ GitHub Repo: ProjectPhysX/hw-smi ⭐ 254 · C++