All HPC facilities, worldwide, provide software in a very different way to personal and corporate computing platforms. JCU HPC uses environment modules to deliver multiple versions of software to researchers using our multi-user HPC cluster. This approach is widely used for the following reasons:
In 2021, HPC staff commenced a major project to replace all existing software (including conda environments) with containerized versions of the same software and/or environments. The container delivery platform being using is Apptainer (singularity) which mirrors the approach that all other HPC facilities are using or moving toward using. The move to containerized HPC is being driven by a requirement for all research to be done in a reproducible way.
For security reasons, all software installed as part of the OS must be kept up to date.
Software installed using the traditional, compile from source, method comes with serious consequences to reproducible research.
Operating system vendor release operating systems and software will a defined lifecycle.
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.
module avail <software-name>
module help <software-name>
module load <software-name>
The default version of a piece of software will usually be a safe (rather than latest) version.
module load <software-name>/<software-version>
HPC staff recommend this approach as default versions may change with time.
module switch <software-name>/<software-version>
module show <software-name>/<software-version>
module unload <software-name>
Specification of a version shouldn't be required here.
Most module files, when loaded, will set an environment variable
<SOFTWARE>_HOME which holds the installation home for the software. For example, try
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.