Skip to main content

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-smi installed (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

MIT

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

ppop-0.1.0.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

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

ppop-0.1.0-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

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

Hashes for ppop-0.1.0.tar.gz
Algorithm Hash digest
SHA256 495af8bc505adb64159b0f25f41bd09d696f667901d3539d39994c9da164fc34
MD5 6083dbc99682b705b943caac0244cfdc
BLAKE2b-256 014241ff94b43f6484012d89b5f20c27fcbe3269b7d5172b68e0c8667f2044a4

See more details on using hashes here.

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

Hashes for ppop-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 73ef61446135f81a6b19751879ec454cbb726540dc8f4086eb1ebf598209b2d0
MD5 88be7435a49af411b60bf8f0141429ee
BLAKE2b-256 0baadba3ce8fc90db19cb91425a3a3217ea92c24f5493d9e17ecf641ff2bf3a0

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