Find unoccupied GPUs on multi-user systems
Project description
nvsmpy
This package automatically manages your CUDA_VISIBLE_DEVICES
environment variable to avoid using GPUs that are currently being used by other users on a multi-user, multi-gpu system. A RuntimeError will be raised if all GPUs are busy. If you pass the max_n_processes
argument to available_devices()
you may run multiple processes under your system username on a given GPU at the same time.
Installation
pip install nvsmpy
Usage
import os
from nvsmpy import CudaCluster
cluster = CudaCluster()
print(cluster)
# To limit access to any two unused GPUs:
with cluster.available_devices(n_devices=2):
print(os.environ["CUDA_VISIBLE_DEVICES"])
# your code goes here
# Alternatively limit access to GPUs 0 and 7, regardless of availability:
with cluster.visible_devices(0, 3, 7):
print(os.environ["CUDA_VISIBLE_DEVICES"])
# your code goes here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nvsmpy-0.2.2.tar.gz
(4.1 kB
view hashes)
Built Distribution
nvsmpy-0.2.2-py3-none-any.whl
(8.9 kB
view hashes)