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
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
--onceand--jsonmodes.
Requirements
- Python 3.10 or newer.
- ROCm command-line tools on
PATH. rocm-smiis required for GPU snapshots.amd-smiis 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 --jsonfor core GPU state and ROCm driver information.amd-smi static --jsonandamd-smi metric --jsonfor extra model and metric details when available.amd-smi process -G --jsonfor 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afb0f040925536f9fc05cd24928ba7a3dcaffc244dfef7d62940ef960148200e
|
|
| MD5 |
6c2a1b7589a0bd6e4063e7aaf2542a29
|
|
| BLAKE2b-256 |
d0faf5d99c5f74991dbd7d4b85edd1841141d37b48d3df65d45c1d12b43bb8ad
|
Provenance
The following attestation bundles were made for roctop-1.0.0.tar.gz:
Publisher:
build_whl_and_publish.yaml on nrhevu/roctop
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
roctop-1.0.0.tar.gz -
Subject digest:
afb0f040925536f9fc05cd24928ba7a3dcaffc244dfef7d62940ef960148200e - Sigstore transparency entry: 2166775430
- Sigstore integration time:
-
Permalink:
nrhevu/roctop@765c78021854dcaf45324fcbd66ae2cda4ec4108 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nrhevu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_whl_and_publish.yaml@765c78021854dcaf45324fcbd66ae2cda4ec4108 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b41c0951104b29f5c4e01d184cd9e3452151d7c3ca917590a20853f71a5d193b
|
|
| MD5 |
65ddf9cd1fd092333fa237f667494342
|
|
| BLAKE2b-256 |
dbb71dbe4ba2e68531a31a3bc1e851adb24abd9457ad0ef4b500d0fbdc6d3a42
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
roctop-1.0.0-py3-none-any.whl -
Subject digest:
b41c0951104b29f5c4e01d184cd9e3452151d7c3ca917590a20853f71a5d193b - Sigstore transparency entry: 2166775450
- Sigstore integration time:
-
Permalink:
nrhevu/roctop@765c78021854dcaf45324fcbd66ae2cda4ec4108 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/nrhevu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build_whl_and_publish.yaml@765c78021854dcaf45324fcbd66ae2cda4ec4108 -
Trigger Event:
release
-
Statement type: