Environment Modules
Roaring Thunder and Single Node HPC Compute Resources use environment modules to help manage the users' shell environment. One of the key reasons for using the cluster is the ability to build and install new applications without modifying existing applications. Environment modules provide a flexible framework to add or remove programs from a users’ current environment variables (the $PATH , etc.).
For example,
We can have the base python package installed with the OS along with other versions of python, such as, 3.7.
[chad.julius@login ~]$ which python
/usr/bin/python
[chad.julius@login ~]$ python --version Python 2.7.5
[chad.julius@login ~]$ module load python
[chad.julius@login ~]$ which python
/gpfs/shared/apps_local/python/3.7-1.20/bin/python
[chad.julius@login ~]$ python --version Python 3.7.4
Using modules allows the user to access multiple types of applications and even different versions of applications without causing underlying compatibility issues.
Module Overview
To list the available modules on Roaring Thunder, you can issue the following command:
module avail # short for module available
To load a module you can issue the following command:
module load <module name> # For example module load python
To view loaded modules, type the following:
module list
To unload a module, do the following:
module unload <module name>
To unload all modules:
module purge