An interactive PPU process viewer and resource monitor, inspired by nvitop.
Project description
ppop
An interactive PPU process viewer and resource monitor for the terminal, inspired by nvitop.
Features
- Real-time PPU device monitoring (utilization, memory, temperature, power)
- Host CPU and memory usage display
- Per-process PPU memory tracking
- Interactive curses-based TUI with color-coded utilization bars
- Non-interactive one-shot mode for scripts and logging
Demo
+-------------------------------------------------------------------------------+
| ppop - PPU Monitor Driver Version: 1.5.5-7a3ae6 |
+-----------------------------------+----------------------+-------------------+
| PPU Name | Memory-Usage | PPU-Util |
+===================================+======================+===================+
| 0 PPU-ZW810E 32C 71W / 400W | 2MiB / 98304MiB | 0% Default |
| 1 PPU-ZW810E 32C 75W / 400W | 2MiB / 98304MiB | 0% Default |
+-----------------------------------+----------------------+-------------------+
+-------------------------------------------------------------------------------+
| Host: |
| CPU [|||| ] 21.3% (32 cores) MEM [|||||| ] 32.1GiB/64.0GiB (50.2%)
+-------------------------------------------------------------------------------+
+-------------------------------------------------------------------------------+
| Processes: |
| PPU PID USER PPU-MEM CPU% MEM% TIME Command |
+===============================================================================+
| 0 12345 user 8192MiB 3.2% 12.6% 1:23 python train.py |
+-------------------------------------------------------------------------------+
Requirements
- Python 3.8+
- PPU device with
ppu-smiinstalled (default path:/usr/local/PPU_SDK/ppu-smi/bin/ppu-smi)
Installation
From source
git clone https://github.com/your-username/ppop.git
cd ppop
pip install .
From PyPI (coming soon)
pip install ppop
Usage
# Interactive mode (real-time monitoring)
ppop
# One-shot mode (print once and exit)
ppop --once
# Custom refresh interval (default: 2s)
ppop -i 5
Keyboard Shortcuts (interactive mode)
| Key | Action |
|---|---|
q |
Quit |
↑ / k |
Scroll up |
↓ / j |
Scroll down |
PgUp / PgDn |
Scroll by page |
r |
Force refresh |
Configuration
If ppu-smi is not at the default path, set the environment variable:
export PPU_SMI_PATH=/path/to/ppu-smi
License
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
ppop-0.1.0.tar.gz
(11.1 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
ppop-0.1.0-py3-none-any.whl
(11.2 kB
view details)
File details
Details for the file ppop-0.1.0.tar.gz.
File metadata
- Download URL: ppop-0.1.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
495af8bc505adb64159b0f25f41bd09d696f667901d3539d39994c9da164fc34
|
|
| MD5 |
6083dbc99682b705b943caac0244cfdc
|
|
| BLAKE2b-256 |
014241ff94b43f6484012d89b5f20c27fcbe3269b7d5172b68e0c8667f2044a4
|
File details
Details for the file ppop-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ppop-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
73ef61446135f81a6b19751879ec454cbb726540dc8f4086eb1ebf598209b2d0
|
|
| MD5 |
88be7435a49af411b60bf8f0141429ee
|
|
| BLAKE2b-256 |
0baadba3ce8fc90db19cb91425a3a3217ea92c24f5493d9e17ecf641ff2bf3a0
|