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
! π