Skip to main content

roctop

roctop is a lightweight terminal monitor for AMD ROCm GPUs. It gives you a live, keyboard-driven view of GPU health, memory pressure, utilization, history graphs, and the processes currently using your accelerators.

It is built for busy ROCm machines where you want the quick feel of top, but with GPU details that are easier to scan than raw rocm-smi output.

Demo

roctop demo

The demo uses synthetic data. Process names, users, PIDs, paths, and metrics are placeholders.

Highlights

  • Live Rich terminal UI for AMD GPUs.
  • Compact per-GPU table with model, architecture, GUID, temperature, fan, power, clocks, VRAM usage, and utilization.
  • Host and GPU history graphs for CPU, system memory, GPU utilization, and GPU memory pressure.
  • Process table with GPU index, PID, user, GPU memory, host CPU/memory, elapsed time, and wrapped command lines.
  • Interactive search, filtering, sorting, GPU focus, table zoom, process tree navigation, and process inspection.
  • Confirmation flow for SIGTERM/SIGKILL actions.
  • Scriptable --once and --json modes.

Requirements

  • Python 3.10 or newer.
  • ROCm command-line tools on PATH.
  • rocm-smi is required for GPU snapshots.
  • amd-smi is optional and used when available for richer GPU/process details.

roctop is designed for Linux ROCm systems. On machines without ROCm tools it will fail fast with a clear command error.

Install

pip install roctop

From source:

git clone https://github.com/nrhevu/roctop.git
cd roctop
python3 -m venv .venv
.venv/bin/python -m pip install -e .
.venv/bin/roctop

Usage

Start the live monitor:

roctop

Common commands:

roctop --interval 0.5
roctop --once
roctop --json
roctop --version
python -m roctop --once

Options:

--interval SECONDS   refresh interval for the live view, minimum: 0.05, default: 1.0
--once               render one terminal snapshot and exit
--json               print one normalized JSON snapshot and exit
--version            print the package version

Live Controls

j/k or Up/Down       move process cursor
PgUp/PgDn            move process cursor by page
0-9                  focus a GPU, when that GPU index exists
s                    open sort menu
t                    toggle process tree
z                    zoom process table
g                    toggle GPU graphs
,/.                  pan graphs older/newer
r                    reset graphs to live
/                    search processes
n/N                  next/previous search match
f                    filter processes
i                    inspect selected process
Space                select or deselect process
x                    open kill confirmation
Esc                  close graphs/menus or clear active filters
?                    open or close help
q or Ctrl-C          quit

Tree mode:

p                    jump to parent process
h or Left            jump to previous sibling
l or Right           jump to next sibling

Menus and popups:

h/l or arrows        move sort/kill menu selection
Enter                apply selected sort or kill option
y                    send SIGTERM in kill confirmation
j/k or Up/Down       scroll help or process inspection
h/l or Left/Right    page help or process inspection
Esc or q             cancel menus

Data Sources

roctop combines several local data sources:

  • rocm-smi --json for core GPU state and ROCm driver information.
  • amd-smi static --json and amd-smi metric --json for extra model and metric details when available.
  • amd-smi process -G --json for GPU process memory when available.
  • /proc, ps, and container metadata for process command, user, runtime, CPU, host memory, ancestor, and container context.

Collection is intentionally tolerant. If optional process or detail commands are missing, slow, or malformed, the live monitor keeps rendering the best available snapshot.

Development

Create an editable install:

python3 -m venv --system-site-packages .venv
.venv/bin/python -m pip install -e .

Run tests:

.venv/bin/python -m unittest discover -s tests

Run local checks against the current machine:

.venv/bin/roctop --once
.venv/bin/roctop --json

Refresh the synthetic demo asset:

skills/roctop-demo-svg/scripts/generate_demo_svg.py

License

MIT. See LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

roctop-1.0.0.tar.gz (93.3 kB view details)

Uploaded Source

Built Distribution

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

roctop-1.0.0-py3-none-any.whl (55.7 kB view details)

Uploaded Python 3

File details

Details for the file roctop-1.0.0.tar.gz.

File metadata

  • Download URL: roctop-1.0.0.tar.gz
  • Upload date:
  • Size: 93.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roctop-1.0.0.tar.gz
Algorithm Hash digest
SHA256 afb0f040925536f9fc05cd24928ba7a3dcaffc244dfef7d62940ef960148200e
MD5 6c2a1b7589a0bd6e4063e7aaf2542a29
BLAKE2b-256 d0faf5d99c5f74991dbd7d4b85edd1841141d37b48d3df65d45c1d12b43bb8ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for roctop-1.0.0.tar.gz:

Publisher: build_whl_and_publish.yaml on nrhevu/roctop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file roctop-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: roctop-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 55.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for roctop-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b41c0951104b29f5c4e01d184cd9e3452151d7c3ca917590a20853f71a5d193b
MD5 65ddf9cd1fd092333fa237f667494342
BLAKE2b-256 dbb71dbe4ba2e68531a31a3bc1e851adb24abd9457ad0ef4b500d0fbdc6d3a42

See more details on using hashes here.

Provenance

The following attestation bundles were made for roctop-1.0.0-py3-none-any.whl:

Publisher: build_whl_and_publish.yaml on nrhevu/roctop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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