Skip to main content

A simple tool to select the first available GPU(s) and run Python

Project description

Cuthon is a simple Python script to avoid setting CUDA_VISIBLE_DEVICES when running python programs on a GPU. The script will find the first unused GPU(s) then run the program as usual. At its simplest:

cuthon my_program.py

This tool is intended for a fairly niche use case: running python programs on an interactive node which has more than one GPU. For those that have done this often you may be relieved at never having to run nvidia-smi followed by setting CUDA_VISIBLE_DEVICES again (when running a python program that is).

Install

Install with pip:

pip install cuthon

Usage

In general, use cuthon just like you would use python.

  • cuthon to launch a python repl.

  • cuthon -V to see the python version number.

  • cuthon train_model.py to run your program.

For help on available cuthon options type:

cuthon -h --

The output will be:

usage: cuthon.py [-h] [-n NUM_GPUS] [-l]

Select the first unused GPU(s) and run Python. To pass the script arguments
specify '--' between cuthon arguments and arguments to be passed through to
your script. If '--' is not specified, then all arguments will be passed
through.

optional arguments:
  -h, --help            show this help message and exit
  -n NUM_GPUS, --num_gpus NUM_GPUS
                        The number of GPUs to use.
  -l, --least_used      Switch from an unused to a least-used policy.

For example, to run on two available GPUs execute:

cuthon -n 2 -- train_model.py

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cuthon-0.5.tar.gz (3.0 kB view hashes)

Uploaded Source

Built Distribution

cuthon-0.5-py2.py3-none-any.whl (3.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page