8000 GitHub - youyve/nputop: An interactive Ascend-NPU process viewer
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
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

0