Environment modules are used on HPC to allow JCU HPC uses environment modules to deliver multiple versions of any given piece of software to sit on the same OS, giving you the ability to choose a version of software. HPC cluster nodes have some convenient aliases configured:
...
A Brief Introduction to using environment modules
To view software under environment modules control, use the command:
No Format |
---|
module avail |
To list the environment modules you have loaded, use the command:software in a multi-user HPC cluster.
This page house a "cheat sheet" style glance at some environment modules functionality. You will need to replace any occurrence of <software-name>
and/or <version> below with an appropriate name/value.
To list all available software
No Format |
---|
module avail |
To list all versions of a given piece of software
No Format |
---|
module avail <software-name> |
To display a brief summary for a given piece of software
No Format |
---|
module help <software-name> |
To list environment modules that have already loaded
No Format |
---|
module list |
To load the
...
default version of a piece of software
No Format |
---|
module load <software-name> |
The default version of a piece of software will usually be a safe (rather than latest) version.
To load a specific version of a piece of software
No Format |
---|
module load java/1.8.0-oracle |
...
<software-name>/<software-version> |
HPC staff recommend this approach as default versions may change with time.
To switch to another version of the same piece of software
No Format |
---|
module switch <software-name>/<software-version> |
To list changes that would be (or have been) made to your environment from loading a specific module
No Format |
---|
module switchshow python/3.6.1 |
...
<software-name>/<software-version> |
To unload a module you have loaded
No Format |
---|
module unload java/1.8.0-oracle |
will backout changes made to your environment from a previous module load java/1.8.0-oracle
command. To unload (purge) all modules you have loaded, use the command:
No Format |
---|
module purge |
<software-name> |
Specification of a version shouldn't be required here.
To unload all of your currently loaded module
No Format |
---|
module purge |
Information specific to JCU HPC configuration
Most module files, when loaded, will set an environment variable <SOFTWARE>_HOME
which holds the installation home for the software. For example, try
No Format |
---|
module load vcftools
echo $VCFTOOLS_HOME
ls -lR $VCFTOOLS_HOME |
The most common environment variable modified by the loading of an environment variable is PATH
. This has been done for convenience.