Skip to main content

An interactive Ascend-NPU process viewer.

Project description

nputop: Interactive Ascend-NPU Process Viewer ๐Ÿš€

License Python Versions Platform GitHub Repo Stars ไธญๆ–‡ๆ–‡ๆกฃ


nputop is an interactive command-line tool designed specifically for monitoring and managing processes running on Ascend NPUs. Inspired by the popular nvitop project, nputop brings a similar, intuitive user experience to the Ascend NPU ecosystem, providing real-time insights into utilization, memory usage, temperature, power consumption, and more.


๐ŸŒŸ Key Features

  • Real-time monitoring: Track NPU usage, memory status, temperature, and power draw.
  • Interactive UI: Navigate with keyboard/mouse and manage processes effortlessly.
  • Process management: View, select, and interact with running NPU processes directly.
  • Multi-NPU Support: Efficiently manage multiple Ascend NPUs simultaneously.
  • CLI convenience: Easy integration into terminal workflows with minimal setup.

๐Ÿ“ธ Screenshots


โš™๏ธ Installation

Prerequisites:

  • Python โ‰ฅ 3.10
  • Ascend NPU Drivers and Runtime Environment (CANN)
pip install ascend-nputop

For development or editable installations:

git clone https://github.com/youyve/nputop.git
cd nputop
pip install -e .

๐Ÿš€ Quick Start

Launch nputop directly from your terminal:

nputop

set environment variables (ASCEND_RT_VISIBLE_DEVICES) to restrict visible NPUs.


๐Ÿ”‘ Usage & Shortcuts

  • Navigate screens: โ† โ†’ or TAB
  • Sort columns: S
  • Toggle compact mode: C
  • Kill a process: select a process and press K
  • Refresh manually: R
  • Exit: Q or Ctrl+C

๐Ÿ› ๏ธ Project Structure

nputop
โ”œโ”€โ”€ assets/             # Images for documentation
โ”œโ”€โ”€ nputop/
โ”‚   โ”œโ”€โ”€ api/            # Ascend NPU APIs & backend
โ”‚   โ”œโ”€โ”€ gui/            # Interactive UI (GPL-3.0-only)
โ”‚   โ”œโ”€โ”€ cli.py          # Command-line entry point
โ”‚   โ””โ”€โ”€ version.py      # Versioning and metadata
โ”œโ”€โ”€ COPYING             # GPL-3.0 License file
โ”œโ”€โ”€ LICENSE             # Apache 2.0 License file
โ”œโ”€โ”€ NOTICE              # Acknowledgments and Notices
โ”œโ”€โ”€ pyproject.toml      # Project configuration
โ”œโ”€โ”€ setup.py            # Build script
โ””โ”€โ”€ README.md           # Documentation

๐Ÿ“‹ Known Issues & Roadmap

  • ๐Ÿšง Metrics acquisition anomalies for single NPU displays.
  • ๐Ÿšง Incomplete parameter display for some NPU metrics.
  • ๐Ÿšง Real-time process tracking issues, such as abnormal process name display.

These performance issues and feature gaps are being actively addressed in ongoing development iterations. Contributions are highly encouraged to help us improve nputop.


๐Ÿค Contributing

We warmly welcome contributions! Feel free to:

  • Report bugs and request features via Issues.
  • Fork the repository and submit pull requests.
  • Improve documentation and examples.

๐Ÿ“ƒ License

This project (nputop) is derived from the original project nvitop by Xuehai Pan.

The licenses applied are:

Copyright (c) 2025 Xuehai Pan <XuehaiPan@pku.edu.cn>
Copyright (c) 2025 Lianzhong You <youlianzhong@gml.ac.cn>

For full details, see LICENSE, COPYING, and NOTICE.


๐Ÿ“ง Contact


Enjoy monitoring your Ascend NPUs with nputop! ๐ŸŽ‰

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

ascend_nputop-0.0.4.tar.gz (100.5 kB view details)

Uploaded Source

Built Distribution

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

ascend_nputop-0.0.4-py3-none-any.whl (119.4 kB view details)

Uploaded Python 3

File details

Details for the file ascend_nputop-0.0.4.tar.gz.

File metadata

  • Download URL: ascend_nputop-0.0.4.tar.gz
  • Upload date:
  • Size: 100.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for ascend_nputop-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c34d797602295befb420d657c3ef298e4d78712c21f1a394b989eecb5d938911
MD5 72d525ac6b690edd03e0fb0197f817db
BLAKE2b-256 d88862c61f330d112d860e70b2a7a055d65cb1a03b3e77b602ab19300ec3ac8c

See more details on using hashes here.

File details

Details for the file ascend_nputop-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: ascend_nputop-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 119.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.13

File hashes

Hashes for ascend_nputop-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 557834ee4a1662bef4bcf8b3ad8814df5fe515f59afdb98367c9236e44376265
MD5 cd2083c19a82a04590376ddbbb4f7e9c
BLAKE2b-256 57c6e54e3d29d49f244864703502fd0c3860590df5c26c7dd0f1f245e0ee1774

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