XuehaiPan / nvitop

An interactive NVIDIA-GPU process viewer and beyond, the one-stop solution for GPU process management.
https://nvitop.readthedocs.io
Apache License 2.0
4.86k stars 152 forks source link

[Feature Request] It is recommended to change the dependency from nvidia-ml-py to pynvml #105

Closed yexcai closed 1 year ago

yexcai commented 1 year ago

Required prerequisites

Motivation

The ‘nvidia-ml-py’ package is outdated, and Nvidia has officially replaced it with ‘pynvml‘. Therefore, installing ’nvitop‘ (which depends on ‘nvidia-ml-py’) is not compatible with environments that depend on ‘pynvml’, such as ‘DeepSpeed’.

Solution

No response

Alternatives

No response

Additional context

No response

XuehaiPan commented 1 year ago

The ‘nvidia-ml-py’ package is outdated, and Nvidia has officially replaced it with ‘pynvml‘.

@yexcai The nvidia-ml-py package (last updated on Nov 2, 2023) is the official NVML Python bindings maintained by the NVML team.

Reference:

In the description of the pynvml PyPI package (last updated on Feb 15, 2023):

Python bindings to the NVIDIA Management Library

Provides a Python interface to GPU management and monitoring functions.

This is a wrapper around the NVML library. For information about the NVML library, see the NVML developer page http://developer.nvidia.com/nvidia-management-library-nvml

As of version 11.0.0, the NVML-wrappers used in pynvml are identical to those published through nvidia-ml-py.

In the NVML library description page https://developer.nvidia.com/nvidia-management-library-nvml:

Bindings

A set of officially supported Perl and Python bindings are available for NVML. These bindings expose the same features as the C-based interface and also provide backwards compatibility. The Perl bindings are provided via CPAN: http://search.cpan.org/%7Envbinding/nvidia-ml-pl/lib/nvidia/ml.pm and the Python bindings via PyPI: http://pypi.python.org/pypi/nvidia-ml-py.


Therefore, installing ’nvitop‘ (which depends on ‘nvidia-ml-py’) is not compatible with environments that depend on ‘pynvml’, such as ‘DeepSpeed’.

For compatibility with other packages, tt is highly recommended to install nvitop in an isolated virtual environment. You can install and run nvitop via pipx:

pipx run nvitop