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 nputop
Or, if you prefer to use pip, you can install it directly from PyPI:
pip install ascend-nputop
For development or editable installations:
git clone https://github.com/youyve/nputop.git
cd nputop
pip install -e .
Launch nputop
directly from your terminal:
nputop
set 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
! 🎉