Skip to content

Releases: ProjectPhysX/hw-smi

hw-smi v1.5

22 May 10:28

Choose a tag to compare

Fixes/improvements

  • print detected hardware specs in help menu with hw-smi.exe --help / hw-smi --help
  • added ReBar detection on Intel GPUs
  • removed double spaces in some CPU names
  • fixed max VRAM bandwidth reporting on some Intel GPUs with <412GB/s
  • render unavailable CPU name as ?
  • mark unavailable CPU data on Linux as such
  • color Neoverse CPU as Nvidia
  • fixed newline in hardware printout if no GPUs are available
  • added stype input properties for SYSMAN queries
  • added more possible libamd_smi.so installation paths to check
  • fix display of unavailable power in graphs mode
  • updated NVML, more accurate fan RPM reading on supported Nvidia GPUs, unavailable Power/Fan metrics on old Nvidia GPUs will now be rendered properly as -?-
  • fixed SYSMAN max PCIe bandwidth glitching when GPU becomes inactive

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --bars
    hw-smi.exe --graphs
    hw-smi.exe --help
  • Or compile from source code on Windows

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.

hw-smi v1.4

22 Apr 15:35
067154c

Choose a tag to compare

Fixes/improvements

  • fixed SYSMAN max PCIe bandwidth reading on Linux
  • fixed file reading crash on some Linux systems
  • render unavailable counters as -?-
  • color labels in bars mode

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --bars
    hw-smi.exe --graphs
    hw-smi.exe --help
  • Or compile from source code on Windows

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.

hw-smi v1.3

17 Apr 17:30

Choose a tag to compare

Fixes/improvements

  • fixed memory clock reporting for memory types other than GDDR5X/GDDR6 in AMDSMI & SYSMAN
    • missed factor memory_transfers_per_clock:
      • 2 ((LP)DDR1-5, GDDR1-4, HBM1-4)
      • 4 (GDDR5)
      • 8 (GDDR5X, GDDR6)
      • 16 (GDDR6X, GDDR6W, GDDR7)
    • bandwidth [MB/s] = VRAM frequency [MHz] * transfers/clock [no unit] * memory bus width [bit] / 8 [bits/Byte]
    • NVML & ADLX lack data for memory_transfers_per_clock
  • better device name cleaning
  • made bars default mode

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --bars
    hw-smi.exe --graphs
    hw-smi.exe --help

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.

hw-smi v1.2

14 Apr 17:28

Choose a tag to compare

Fixes/improvements

  • added max memory bandwidth fallback for most Intel iGPUs
  • fixed memory_bus_width_fallback for iGPUs
  • hardened against empty Sysman device name
  • better device name cleaning
  • for Linux compiling, check /usr/lib64/ path before /usr/lib/ path
  • added libnvidia-ml.so path for aarch64

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --graphs
    hw-smi.exe --bars
    hw-smi.exe --help

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.

hw-smi v1.1

12 Apr 11:27

Choose a tag to compare

Fixes/improvements

  • fixed/hardened Sysman bandwidth and power counters for Intel Arc Alchemist GPUs and Intel iGPUs
  • check for alternative GPU driver installation paths in make.sh, for better compatibility across Linux distros
  • made make.sh executable by default
  • removed max CPU core / max GPU number limits and reduced RAM footprint
  • clean exit on Linux with Ctrl+C (thanks to @bputigny)
  • link against driver .so files on Linux, removed shipped .so files

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --graphs
    hw-smi.exe --bars
    hw-smi.exe --help

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.

hw-smi v1.0

09 Apr 17:39

Choose a tag to compare

It was a long journey, now my fun side project is done and opensourced!

How much VRAM bandwidth does an application or a game pull? Is the traffic over PCIe a bottleneck? What's the CPU/GPU load, RAM/VRAM occupation, temperatures, power draw, clock frequencies? hw-smi works with all CPUs and all Nvidia/AMD/Intel GPUs, on both Windows and Linux.

There are lots of cool hardware monitoring tools already - but they all are either OS-specific, only for CPU or GPU, only for one particular vendor's GPUs, and none of them tell you the VRAM/PCIe bandwidth to give clues about application bottlenecks. 2 years ago I thought to myself: I can do this better. Hardest part was testing the vendor APIs, every single counter, and I needed hardware for that. That was fun, I found & reported lots of bugs. Accordingly I had to do extensive hardening against broken API counters, entire chains of fallbacks just to get one value reliably. Testing, testing, testing!

But it was all worth it. Now I share this powerful tool with the world, for free. Have fun!

How to run?

Windows

  • Download hw-smi.exe or hw-smi-hud.exe (version with graphical on-screen HUD).
  • Double-click (you will be asked to run as administrator, this is required for some Intel GPU counters).
  • Alternatively, run in Windows CMD via
    hw-smi.exe
    hw-smi.exe --graphs
    hw-smi.exe --bars
    hw-smi.exe --help

Linux

  • Clone from GitHub:
    git clone https://github.com/ProjectPhysX/hw-smi.git && cd hw-smi
  • Compile:
    chmod +x make.sh
    ./make.sh
  • Run:
    sudo bin/hw-smi
    sudo bin/hw-smi --graphs
    sudo bin/hw-smi --bars
    sudo bin/hw-smi --help
  • Note that it will also work without sudo. However, some telemetry counters on Intel GPUs are not available without sudo.