An interactive Ascend-NPU process viewer.
Project description
nputop: Interactive Ascend-NPU Process Viewer ๐
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:
- API Modules: Apache License 2.0
- GUI Modules: GNU General Public License v3.0 only
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
- Maintainer: Lianzhong You
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
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
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0a235023acef7bf0c28f4b233196fa2b47b271bd324b5b4973b9c305a6b5981
|
|
| MD5 |
7bdb83fbbb7753fd74275205a4a7bb0b
|
|
| BLAKE2b-256 |
67d4e7706951e380b06f86c6801288b125f16a74b28d492f359ec74bb051ff56
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97ca10c20f777e44545a7d8eeeb63685411f1ea58627877389b997bf2d2f5d95
|
|
| MD5 |
ddc1f3cbee99967e1bfca3c0e74eb45f
|
|
| BLAKE2b-256 |
eb279336f2f9177381b9c931f9945859a133d34267c68bd9f88ab498b32b4941
|