XuehaiPan/nvitop

An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.

What it solves

nvitop is an interactive NVIDIA GPU process viewer and monitoring tool. It solves the limitation of nvidia-smi by providing a continuously updating, colorized interface that allows users to monitor GPU resource usage, track processes, and manage them in real-time.

How it works

It queries device status directly using NVML Python bindings instead of parsing nvidia-smi output. It uses the curses library for efficient display and multi-threading to asynchronously gather information, ensuring a responsive user interface. The tool is cross-platform, supporting both Linux and Windows via the psutil library for host process information.

Who it’s for

It is designed for deep learning researchers, system administrators, and developers who need a detailed, real-time view of GPU utilization and process management on NVIDIA hardware.

Highlights

  • Interactive Monitor Mode: Features bar charts, history graphs, process sorting, and filtering.
  • Process Management: Ability to send signals (interrupt, terminate, kill) to processes directly from the interface.
  • Advanced Views: Includes a tree-view for GPU processes and their parents, and an environment variable viewer.
  • Integrated Tooling: Ships with nvisel, a CUDA visible devices selection tool.
  • Developer APIs: Provides low-level APIs for Device, Process, and Host monitoring to build custom tools.
  • Broad Compatibility: Works on Linux and Windows and supports MIG (Multi-Instance GPU) devices.

Related

  • Project
  • Project
  • Project
  • Project
  • Project