As of January 6, 2025, the LAS Pronto cluster was merged into the campus-wide Nova cluster. Information here may or may not work on Nova. Please contact Research IT if you have questions.

How to create an empty virtual environment

If you need to install a really old version of some package, or make modifications to a package, you can create a completely empty virtual environment in the container. This virtual environment will be isolated from the pre-installed packages and you will need to install everything yourself.

First, get an interactive session on a GPU node.

srun --time=01:00:00 --nodes=1 --cpus-per-task=4 --partition=gpu --gres=gpu:1 --pty /usr/bin/bash

Load the version of the ml-gpu module you want to use. For example:

module load ml-gpu/20230427

Next, create a directory to install the packages to. This should be within your group's /work directory, and specific to the version of the ml-gpu container that you're using.

ml-gpu python -m venv /work/LAS/your-lab/emptymlgpuvenv-20230427

The difference between this command and the one given in previous sections is the removal of the --system-site-packages flag, which isolates the environment.

Now install any packages you need with pip.

ml-gpu /work/LAS/your-lab/emptymlgpuvenv-20230427/bin/pip3 install somepackage

To confirm the packages are installed:

ml-gpu /work/LAS/your-lab/emptymlgpuvenv-20230427/bin/pip3 freeze | grep somepackage

Your package is now installed.

To use this virtual environment in your batch scripts, load the ml-gpu module, then invoke python like this:

ml-gpu /work/LAS/your-lab/emptymlgpuvenv-20230427/bin/python your_script.py

Be sure to replace the path with the actual location you installed the packages.