ModuLair
Description
ModuLair is a Python virtual environment (venv) management solution developed here at HPRC. It empowers users to streamline their Python workflows without having to spend time configuring third-party solutions to integrate with HPC. ModuLair is pre-installed on our clusters and provides seamless integration with our systems.
Command Line Interface
ModuLair's Command Line Interface offers four commands that compose the backbone of the software's utility.
-
create_venv - Create a new virtual environment in any available Python version. Add a description of what the environment is for and/or a custom module toolchain tailored to your workflow.
-
list_venvs - List all of the environments that you have created with the ModuLair suite. This is your "Lair."
-
activate_venv - Activate any of the environments in your Lair with one command.
-
delete_venv - Delete all of the data of any of the environments in your Lair.
Example environment life-cycle
This example shows the life-cycle of a venv for a deep learning project using gpu accelration. This environment will be created with a custom toolchain by leveraging the -t flag. This option accepts a space-separated list of modules as an input.
$ create_venv dl_train -d "Environment for training my deep learning model" -t "CUDA/12.8.0 GCCcore/13.3.0 Python/3.12.3"
$ list_venvs
Name Description Python Version GCC Version Toolchain
------------------------------------------------------------------------------------------------------------
dl_train Environment for training my deep learning model N/A N/A CUDA/12.8.0 GCCcore/13.3.0 Python/3.12.3
$ delete_venv dl_train
Removing {'name': 'dl_train', 'python_version': 'N/A', 'GCCcore_version': 'N/A', 'description': 'Environment for training my deep learning model', 'toolchain': 'CUDA/12.8.0 GCCcore/13.3.0 Python/3.12.3'}'s files...
Successfully removed {'name': 'dl_train', 'python_version': 'N/A', 'GCCcore_version': 'N/A', 'description': 'Environment for training my deep learning model', 'toolchain': 'CUDA/12.8.0 GCCcore/13.3.0 Python/3.12.3'}
OnDemand Portal
Each of HPRC's clusters has an OnDemand Portal which contains many tools to manage a user's HPRC resources. ModuLair's graphical interface can be found as an available tool here.
The GUI offers the create, delete, and list functionality provided by the CLI. The GUI makes it easier for users that are unfamiliar with the command line to set up their workflows.