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.3.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.3-py3-none-any.whl (119.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ascend_nputop-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 d0a235023acef7bf0c28f4b233196fa2b47b271bd324b5b4973b9c305a6b5981
MD5 7bdb83fbbb7753fd74275205a4a7bb0b
BLAKE2b-256 67d4e7706951e380b06f86c6801288b125f16a74b28d492f359ec74bb051ff56

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ascend_nputop-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 119.5 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 97ca10c20f777e44545a7d8eeeb63685411f1ea58627877389b997bf2d2f5d95
MD5 ddc1f3cbee99967e1bfca3c0e74eb45f
BLAKE2b-256 eb279336f2f9177381b9c931f9945859a133d34267c68bd9f88ab498b32b4941

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