Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

slurmviz-0.1.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

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

Hashes for slurmviz-0.1.0.tar.gz
Algorithm Hash digest
SHA256 60b7048729a1443c751419eb9e2d6229c65fdd6875b780e0711c7dbbaa182e43
MD5 b0f6c0775ebc8b2badef9dc272cd2033
BLAKE2b-256 5deac538be0f9b7b0f7f3883cbc6cd1580f70fdaef11f0c0f6aea41f4a6b0b36

See more details on using hashes here.

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

Hashes for slurmviz-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8bc864bdd9073bd2bf3aea61df2cf1a158acddca8c94990f5c2fafd987051553
MD5 fef40810ffe6ac4194d6eec37e9f9f72
BLAKE2b-256 91c47c8be026bbcc9c891603afb804a7243d36db411c2c17bf354273b060bcc0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page