Skip to content

youyve/nputop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

nputop: Interactive Ascend-NPU Process Viewer πŸš€

Python Versions PyPIPyPI Downloads Conda Downloads Platform GitHub Repo Stars License δΈ­ζ–‡ζ–‡ζ‘£


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:

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 .

πŸš€ 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
  • 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

  • 🚧 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.


🀝 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! πŸŽ‰

About

An interactive Ascend-NPU process viewer

Topics

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published

Languages