GPUOps
GPUOps is a small CLI for managing shared lab GPUs. It focuses on the first things an admin usually needs: seeing who is using GPUs, finding suspicious idle jobs, safely killing selected GPU processes, and keeping lightweight usage history.
Features
- Real-time GPU status: memory, utilization, temperature, power, and processes.
- GPU process list with user, command, working directory, and running time.
- Kill all processes on a GPU, all GPU processes for a user, or that user on one GPU.
- Sorting by free memory, used memory, utilization, temperature, or GPU index.
- Stalled-GPU warning when memory is occupied but utilization stays near zero.
- Per-user summary across all GPUs.
- Memory/running-time top view.
- Lightweight JSONL history sampling and GPU-hour aggregation.
- Rich terminal output: loading spinners, colored tables, memory bars, and progress bars.
- Interactive kill confirmation with
gpuops kill --interactive. - Safe-by-default process management:
killis dry-run unless--yesis passed.
Install locally
python3 -m pip install -e .
Commands
gpuops status
gpuops status --sort free --record
gpuops ps --gpu 0
gpuops users
gpuops top --by memory
gpuops doctor
gpuops history --days 30
Kill commands are dry-run by default:
gpuops kill --gpu 3
gpuops kill --user alice
gpuops kill --gpu 3 --user alice
Preview and confirm in-place:
gpuops kill --gpu 3 --user alice --interactive
To actually send signals:
gpuops kill --gpu 3 --user alice --yes
gpuops kill --user alice --force --yes
Use --json on any command when piping into scripts; JSON output skips the
loading spinners, prompts, and table styling.
History
gpuops status --record appends one sample to:
~/.local/share/gpuops/history.jsonl
Run it from cron or systemd every minute if you want durable usage stats.
Notes
GPUOps uses nvidia-smi when available and enriches process information from
/proc on Linux. On machines without NVIDIA GPUs, commands fail cleanly with a
message instead of crashing.
Metadata
Release files for gpuops 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gpuops-0.1.1.tar.gz | 12.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gpuops-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.3 kB
Release files / gpuops-0.1.1.tar.gz
| Download URL | gpuops-0.1.1.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e8c80c40fba613aaa47f67ad0c7ebe91bbe15ed06053588e4ce2b9dfb63b3ee
|
|
BLAKE2b-256 checksum How to use checksums |
58644b42d12798aa07036839a197e78fa7a111b700e2e11df3a414132d85b634
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / gpuops-0.1.1-py3-none-any.whl
| Download URL | gpuops-0.1.1-py3-none-any.whl |
|---|---|
| Size | 14.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
467564c709c858d8d39d1db8a2be8d8ae20987b03ef6de634c68464233a74402
|
|
BLAKE2b-256 checksum How to use checksums |
5564491bcdd83e7b2137e660cb3492993f2ed001f1b3f5191a0a91ae4068ff6f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|