Repository navigation
Releases: DingoOz/llm-visuals
Release list
v0.13.0
Highlights
3D expert landscape. Press e to see MoE routing as an isometric field of towers: height is each expert's hit count from the server's own /experts window, and light is how often it is being picked right now. ← → turn to the next corner, ↑ ↓ tilt, and space holds the view still. Without a server that reports expert hits (llama.cpp with the --expert-stats patch) the field stays flat and is labelled simulated. By @DingoOz in #45.
Apple Silicon GPU panels. Utilisation, power, temperature, clocks, fans and the unified-memory pool on Apple Silicon Macs, read from powermetrics when sudo is available or from a sudoless macmon pipe stream otherwise. llm-visuals --print-gpu (add --json for a machine-readable record) prints the chosen source and one sample without opening the dashboard, which is the thing to paste into an issue. By @iforevans in #43, verified on an M5 Max.
NInfer support. ninfer-serve is detected and its Prometheus counters drive live prefill and decode, prefix reuse, TTFT and speculative acceptance, with the speculative panel titled by the backend the server reports (dflash2, …). The adapter was written by @Neroued, NInfer's author; @blaakstone rebased it, tested it on an RTX 5090 and brought it here in #36. Merged in #44.
NVIDIA memory temperature. Cards whose driver reports the sensor (HBM parts such as the CMP 170HX) show mem 71° beside the die temperature, and the log and --print-gpu record it. By @g4bwy in #48, their first contribution.
vLLM on GB10 / DGX Spark. The UNIFIED bar now fills for vLLM from the served model's weight shards plus the --kv-cache-memory-bytes pool on its command line, with kv_cache_usage_perc lighting the part of the pool that holds tokens. By @lemassykoi in #49.
Servers that want an API key say so. When an SGLang, Strata, vLLM or NInfer server refuses the dashboard, the status line reads HTTP 401: no valid API key (--api-key-file) instead of leaving zeros that look like an idle server. By @lemassykoi in #51.
Keyed Strata servers are named. A Strata server started with an API key is recognised and named, model and context included, from the /health endpoint it leaves open. By @iforevans in #40.
--version. llm-visuals --version (or -v, -V) prints the version and exits. Requested by @landure in #46, added in #50.
Upgrading
- The log database (on by default) gains a
mem_temp_ccolumn the first time 0.13.0 opens it. A 0.12.0 build writing to the same file after that stops logging with an error, so upgrade every copy that shares a log, or give the old one its own file with--log-db. - The memory temperature reads blank on cards whose driver does not report the sensor, which includes most GDDR consumer cards.
Contributors
Thank you to everyone whose work is in this release: @iforevans, @g4bwy, @lemassykoi, @Neroued and @blaakstone, and to @landure for the feature request. Maintained by @DingoOz.
What's Changed
- Name a keyed Strata server's model via /v1/status by @iforevans in #40
- NInfer support: read ninfer-serve's Prometheus counters by @DingoOz in #44
- Apple Silicon GPU panels: powermetrics and macmon backends by @iforevans in #43
- Expert landscape: an isometric 3D view of MoE routing by @DingoOz in #45
- NVIDIA HBM temperature: NVML field 82 and a temperature.memory column by @g4bwy in #48
- vLLM: fill the GB10 unified bar from its own declared numbers by @lemassykoi in #49
- Add a --version flag (-v, -V) by @DingoOz in #50
- Name a 401 as what it is: the status line says an API key is needed by @lemassykoi in #51
New Contributors
Full Changelog: v0.12.0...v0.13.0
v0.12.0
What's Changed
- Bandwidth view: safetensors weight streams and honest unified labels by @lemassykoi in #41
- Fix Strata prefill measurements and cached token accounting by @needmorevram in #38
- Strata: ask /metrics for JSON, and recognise its Prometheus rendering by @DingoOz in #42
New Contributors
- @needmorevram made their first contribution in #38
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- Show system RAM in the GPU panel by @DingoOz in #29
- Show whether a vision encoder is loaded and where it runs by @DingoOz in #30
- Space the GPU cards apart and above the SYSTEM RAM section by @iforevans in #31
- Add Strata inference server support, with MTP draft acceptance by @DingoOz in #33
- GB10 / DGX Spark: keep NVML on unified-memory parts, show the server's memory report by @lemassykoi in #34
New Contributors
- @iforevans made their first contribution in #31
- @lemassykoi made their first contribution in #34
Full Changelog: v0.10.0...v0.11.0
v0.10.0
What's Changed
- Theme the whole UI, show the version in settings, add a log viewer by @DingoOz in #24
- Add a btop-style braille theme by @DingoOz in #26
- Read GGUF shape keys that follow a tokenizer key by @Pix13 in #27
- Add a decode speed vs context length screen by @DingoOz in #28
New Contributors
Full Changelog: v0.9.0...v0.10.0
v0.9.0
Intel Arc GPUs, native NVML for NVIDIA, and container-aware model detection.
What's Changed
- Read NVIDIA telemetry in-process through NVML instead of spawning
nvidia-smievery poll (--no-nvmlkeeps the old path) by @Cyrag6 in #13 - Read decode rate when
/slotsomitsn_decoded, and poll the server's--hostby @DingoOz in #14 - Add an Intel
xpu-smiGPU backend, reach containerized vLLM model dirs through/proc/<pid>/root, and split weights/KV correctly for safetensors models by @seth586 in #16 - Intel XPU telemetry: utilization reconstructed from boost clocks (shown as
~), fan RPM from thexedriver, and weights/KV and layers attributed to the GPUs a server actually uses by @seth586 in #18 - Resolve relative and local model paths, so MoE models served as
--model ./model.ggufare detected with their experts by @Cyrag6 in #19 - Review follow-ups for #18 and #19: fans mapped to the right card by PCI address, no poll stall at idle, env GPU masks only as a fallback by @DingoOz in #20
VRAM used now matches what nvidia-smi reports (the driver's reserved memory is no longer counted).
New Contributors
Full Changelog: v0.8.2...v0.9.0
v0.8.2
Attach to Docker/WSL/remote servers, AMD GPUs, LM Studio, and authenticated endpoints.
What's Changed
- Add
--endpoint(CLI, env, settings) so the dashboard can attach without process-table scanning, including Docker/WSL2 and remote hosts, by @Cyrag6 in #6 - Add
--api-key-filefor bearer-authenticated inference servers by @melroy89 in #9 - Add AMD GPU telemetry on Linux (sysfs/amdgpu) and skip unchanged idle frames by @melroy89 in #10
- Support LM Studio's llama-server: read the per-load API key from the command line, treat
--tensor-split 0as no split, and show MTP draft length from--spec-draft-n-maxby @mrpliberty in #11
A detected --api-key on the server cmdline wins; --api-key-file is the fallback for keys that never appear on the process table. HTTPS endpoints are not supported (plain HTTP only).
New Contributors
- @Cyrag6 made their first contribution in #6
- @melroy89 made their first contribution in #9
- @mrpliberty made their first contribution in #11
Full Changelog: v0.8.1...v0.8.2
v0.8.1
What's Changed
- Fix GGUF metadata detection for llama.cpp -hf models by @skalyanaraaman in #4
- Add SGLang poller so detected servers actually fill the dashboard by @DingoOz in #5
New Contributors
- @skalyanaraaman made their first contribution in #4
Full Changelog: v0.8.0...v0.8.1
v0.8.0
What's Changed
- Native vLLM support: /metrics adapter, container-aware detection, correct per-request rates by @seth586 in #1
- Run natively on Windows 11 by @DingoOz in #2
New Contributors
Full Changelog: https://github.com/DingoOz/llm-visuals/commits/v0.8.0