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.7
  • 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

  • ๐Ÿšง Slow startup compared to GPU-based solutions.
  • ๐Ÿšง Incomplete parameter display for some NPU metrics.
  • ๐Ÿšง Delayed utilization (UTL) refresh rate and real-time process tracking issues.

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.2.tar.gz (100.6 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.2-py3-none-any.whl (119.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ascend_nputop-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a58c9c34e053f422dd441eab4ab51c5edc267706d50e0fb98ccada66e1abecc6
MD5 1999ded465703952c41ac1633dd8a438
BLAKE2b-256 54035d8a0e8b397a0abb54313b9f73cf1c495aca2352ec31860d986b99d993f8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ascend_nputop-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 035f39ef6e1fa4e9b130a16a31b337559262783373057a8edbdbfa79a4bb30f0
MD5 ace2eb4f025faa678de543da534d5197
BLAKE2b-256 7929aaf3eeea9a4da47e02db1ece57a06be2b3b2fd1da58c3f1c944b50152f0d

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