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.
- 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.
Prerequisites:
- Python ≥ 3.9
- Ascend NPU Driver(Ascend NPU Drivers)
If you're using Conda, we recommend installing nputop via conda-forge:
# Option 1: without changing default config
conda install -c conda-forge nputop
# Option 2 (recommended): set conda-forge as highest-priority channel
conda config --add channels conda-forge
conda config --set channel_priority strict
# Then install
conda install nputopOr, if you prefer to use pip, you can install it directly from PyPI:
pip install ascend-nputopFor development or editable installations:
git clone https://github.com/youyve/nputop.git
cd nputop
pip install -e .Launch nputop directly from your terminal:
nputopset environment variables (ASCEND_RT_VISIBLE_DEVICES) to restrict visible NPUs.
- Navigate screens: ↑ ↓ or TAB
- Toggle compact mode: C
- Kill a process: select a process and press K
- Refresh manually: R
- Exit: Q or Ctrl+C
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
- 🚧 Limited support for Ascend: Currently, only Ascend 910 Series are fully supported.
- 🚧 Incomplete parameter display for some NPU metrics.
These performance issues and feature gaps are being actively addressed in ongoing development iterations. Contributions are highly encouraged to help us improve nputop.
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.
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.
- Maintainer: Lianzhong You
Enjoy monitoring your Ascend NPUs with nputop! 🎉

