A terminal UI dashboard for Slurm GPU cluster status
Project description
slurmviz
A terminal UI dashboard for monitoring Slurm GPU cluster status, built with Textual.
Features
- Node map — per-node GPU utilization bars with state indicators
- GPU summary — cluster-wide totals and per-user GPU/job breakdown
- All GPUs — per-GPU utilization bars with user/job info for every GPU in the cluster
- My jobs — your running and pending jobs at a glance
- Auto-refresh — configurable polling interval (default: 5s)
- Demo mode — realistic fake data when Slurm isn't available
Example Dashboard
┌─────────────────────────── slurmviz ──────────────────────────── 12:34:56 ┐
│ │
├── NODES ──────────────────────┬── GPU SUMMARY ────────────────────────────┤
│ │ │
│ ● node01 █████░░░ 5/8 mixed│ GPU CLUSTER │
│ ● node02 ████████ 8/8 alloc│ │
│ ● node03 ░░░░░░░░ 0/8 idle│ Total 128 Used 87 Free 33 │
│ ◐ node04 ██░░░░░░ 2/8 mixed│ ██████████████████░░░░░░░░░░░░ 26% free│
│ ● node05 ████████ 8/8 alloc│ │
│ ✗ node06 -------- 0/4 down│ ⚠ 8 GPUs offline (down/drain) │
│ ● node07 ██████░░ 6/8 mixed│ │
│ ● node08 ████████ 8/8 alloc│ PER-USER GPU USAGE │
│ ● node09 ░░░░░░░░ 0/4 idle│ USER GPUs JOBS │
│ ◐ node10 ██░░░░░░ 2/8 mixed│ ►you 16 3 ████░░░░ 13% │
│ ● node11 ████████ 4/4 alloc│ alice 12 2 ███░░░░░ 10% │
│ ● node12 ██████░░ 6/8 mixed│ bob 24 4 ██████░░ 20% │
│ ● node13 ████████ 8/8 alloc│ charlie 8 2 ██░░░░░░ 6% │
│ ● node14 ████░░░░ 4/8 mixed│ diana 16 3 ████░░░░ 13% │
│ ✗ node15 -------- 0/4 drain│ eve 8 1 ██░░░░░░ 6% │
│ ● node16 ██████░░ 6/8 mixed│ frank 3 1 █░░░░░░░ 2% │
│ │ │
├── ALL GPUs ───────────────────┴───────────────────────────────────────────┤
│ │
│ node01 ██████░░ 82% █████░░░ 70% ███████░ 91% ██████░░ 78% 5/8 │
│ node02 ████████ 95% ███████░ 88% ████████ 92% ████████ 97% 8/8 │
│ node03 ░░░░░░░░ 1% ░░░░░░░░ 0% ░░░░░░░░ 2% ░░░░░░░░ 0% 0/8 │
│ ... │
│ │
├── MY JOBS ────────────────────────────────────────────────────────────────┤
│ │
│ ◈ MY JOBS jobs:3 gpus:16 │
│ ID NAME ST TIME GPU NODE PART │
│ 1000042 train-llama RUN 12:34:56 8 node02 batch │
│ 1000051 finetune-vit RUN 3:21:00 4 node14 short │
│ 1000067 eval-bert RUN 0:45:12 4 node11 batch │
│ │
├───────────────────────────────────────────────────────────────────────────┤
│ q Quit r Refresh d Demo │
└───────────────────────────────────────────────────────────────────────────┘
Installation
pip install slurmviz
Development install
git clone https://github.com/VigneshSrinivasan10/slurmviz.git
cd slurmviz
pip install -e .
Usage
# Live mode (connects to Slurm)
slurmviz
# Demo mode (fake data, no Slurm required)
slurmviz --demo
# Custom refresh interval (seconds)
slurmviz -r 10
Keyboard Shortcuts
| Key | Action |
|---|---|
q |
Quit |
r |
Refresh immediately |
d |
Toggle demo mode |
Requirements
- Python 3.10+
- Slurm commands (
sinfo,squeue) for live data — falls back to demo mode automatically if unavailable
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
slurmviz-0.1.0.tar.gz
(8.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file slurmviz-0.1.0.tar.gz.
File metadata
- Download URL: slurmviz-0.1.0.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60b7048729a1443c751419eb9e2d6229c65fdd6875b780e0711c7dbbaa182e43
|
|
| MD5 |
b0f6c0775ebc8b2badef9dc272cd2033
|
|
| BLAKE2b-256 |
5deac538be0f9b7b0f7f3883cbc6cd1580f70fdaef11f0c0f6aea41f4a6b0b36
|
File details
Details for the file slurmviz-0.1.0-py3-none-any.whl.
File metadata
- Download URL: slurmviz-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bc864bdd9073bd2bf3aea61df2cf1a158acddca8c94990f5c2fafd987051553
|
|
| MD5 |
fef40810ffe6ac4194d6eec37e9f9f72
|
|
| BLAKE2b-256 |
91c47c8be026bbcc9c891603afb804a7243d36db411c2c17bf354273b060bcc0
|