Modules

RCI’s HPC clusters use a tool called modules to allow users manage their Linux shell environment, by allowing groups of related environment-variable settings to be made or removed dynamically. The clusters use a centralised software stack that serves a diverse userbase, so to load each application’s custom environment users will need to load the module for their software each time they establish a interactive session or in their job submission script. The table below lists some of the most useful module commands. Most users need only concern themselves with module load, module list and module avail.

Module avail shows the list of available software on the cluster.

[root@bolden ~]$ module avail

——- /share/apps/Modules/3.2.10/modulefiles ———
ants/1.9 fsl/fsl module-git mothur/1.33 null use.own
cmake/3.0 intel/14.0.3 module-info netcdf/4.3.2 python/2.7.8
dot matlab/R2014a modules netcdf/netcdf-ifort tcl/8.6.1

To load the enviroment for an application use module load

[root@bolden ~]$ module load matlab

modules will load the required software variables for your current session.

[root@bolden ~]$ echo $PATH
/share/apps/MATLAB/R2014a/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin

You can check what modules are loaded for your active session with module list.

[root@bolden ~]$ module list
Currently Loaded Modulefiles:
1) matlab/R2014a

You can remove a module’s paths by doing module unload or remove all loaded modules with module purge

When submitting a job script on BOLDEN, it will be necessary to preface your module commands with the following line:

source /share/apps/Modules/3.2.10/init/modules.sh
module load matlab/R2014a

When submitting a job script on MAXWELL/PLANCK, it will be necessary to preface your module commands with the following line:


source /share/apps/Modules/3.2.10/init/sh
module load intel