Comments (6)
We could discuss and coordinate together to avoid any package conflict issues, because in the current situation
gpustat
andnvitop
would be not compatible with each other due to the nvidia-ml-py
version.
@wookayin I have loosened the dependency constraints to nvidia-ml-py >=11.450.51,<11.500.00
in PR #24.
In gpustat
, which are nvidia-ml-py >=11.450.129,<=11.495.46
(in nvitop
, an extra version 11.450.51
provided for CUDA 10.x drivers).
https://github.com/wookayin/gpustat/blob/cd65b1ef5fe115fd057691a2246263844dffed86/setup.py#L77-L82
For a fresh installation, both gpustat
and nvitop
will install nvidia-ml-py == 11.495.46
:
pip3 install gpustat
pip3 install nvitop
from nvitop.
Hi @wookayin, thanks for raising this.
The reason for pinning the version of nvidia-ml-py == 11.450.51
is to support Ubuntu 16.04 LTS. For the same reason, I also do not drop the support for Python 3.5 (the default Python on Ubuntu 16.04 LTS). Although both Ubuntu 16.04 and Python 3.5 are out of maintenance.
The maximum NVIDIA driver version in ppa:graphics-drivers
is the R430 driver (the maximum supported CUDA version is 10.1). The struct nvmlProcessInfo_v2_t
was introduced in CUDA 11.x, which requires at least R450 driver. Although the admin can upgrade the NVIDIA driver on UBuntu 16.04 to R465 with a CUDA .deb
file. I think the goal of a PyPI package should be usable for users who do not have sudo
privileges.
Is having
pynvml
version NOT pinned at the specific version an option for you?
I'm going to add an optional argument to pip
and let the user choose the version of nvidia-ml-py
themself as:
pip3 install 'nvitop[pynvml-11.450.51]'
pip3 install 'nvitop[pynvml-11.450.129]'
EDIT: The extra
option in packge[extra]
should start with a letter not numbers.
from nvitop.
Thank you, I wasn't aware of the Ubuntu 16.04 LTS compatibility, but giving a thought to more modern systems it would make more sense to allow CUDA-11 compatible nvidia-450+ pynvml installations.
I'm going to add an optional argument to pip and let the user choose the version of nvidia-ml-py themself as:
That sounds like nvitop may have support for different versions of pynvml, which will be great. Though features might be incomplete if the driver/library installation would not match.... We might need to add some fallback mechanisms --- I don't have an universal solution yet without bundling and copy-paste-ing the source code of the nvmlProcessInfo
struct or nvmlDeviceGetComputeRunningProcesses_v2
function.
from nvitop.
We might need to add some fallback mechanisms --- I don't have an universal solution yet without bundling and copy-paste-ing the source code of the
nvmlProcessInfo
struct ornvmlDeviceGetComputeRunningProcesses_v2
function.
I haven't found a way to solve this either :(. The module pynvml.py
provides either the v1 or the v2 struct of nvmlProcessInfo_t
, not both. We need to copy-paste the source code.
from nvitop.
Hi @XuehaiPan,
I'm running into the same issue when trying to install nvitop
with cuml
in a conda environment:
micromamba create -n test -c conda-forge -c rapidsai -c conda-forge cuml cuda-version=11.8 nvitop
This installs a really old version of cuml
(0.6.1), because cuml
depends on dask-cuda
, which depends on pynvml
.
I don't know much about how conda
packages are built and don't fully understand the discussion above about Nvidia driver internals, but a fix that resolves this for the conda package would be much appreciated. Thanks!
from nvitop.
Hi @mjkanji, maybe you can use pipx
to install nvitop
in an isolated environment. You can also set it as an alias:
alias nvitop='pipx run nvitop'
from nvitop.
Related Issues (20)
- [Feature Request] Add shortcut that shows parent process's name for selected process HOT 1
- [Question] Memory bandwidth utilization of GPUs? HOT 4
- [BUG] Monitor mode displays nothing under Python 3.12 in Windows 11 HOT 8
- [Feature Request] It is recommended to change the dependency from nvidia-ml-py to pynvml HOT 1
- [BUG][exporter] Process metrics still exist when the process is gone HOT 5
- [BUG] curser error init display on ubuntu 22.10 HOT 1
- [Question] How to log GPU performance to `wandb` HOT 2
- [Feature Request] add io stat for disk and process like glances HOT 2
- [BUG] Pytorch lightning callback HOT 3
- [Feature Request] Show real-time bandwidth under monitor mode
- [Question] ERROR: Failed to initialize `curses` (setupterm: could not find terminfo database) HOT 4
- [Question] How snapshot could be used HOT 2
- Installation: which step to follow? HOT 1
- [BUG] Prometheus connection refused HOT 4
- [Question] Grafana Dashboard Example
- [Feature Request] can you support word wrap for COMMAND information HOT 1
- Windows download link please.. HOT 1
- [Feature Request] Add CPU Processes
- [BUG] UTF-8 Error during decoding device name on R555 driver HOT 7
- [BUG] `nvitop.Device.from_cuda_visible_devices()` not detecting GPU HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nvitop.