Environment modules
Environment modules are available on Alderaan front end and compute nodes only.
Purpose
Environment variables, such PATH
, allow to select software to become available.
Modules manage the environment automatically, without the user having to set the
environment variables by hand, which is tedious and error prone.
Alderaan modules include compilers (GNU, AMD, and Intel) and MPI.
Basic module commands
module load modulename
- make the software pointed to by the module available
module unload modulename
- make the software pointed to by the module unavailable
module purge
- unload all modules, strongly recommended before loading modules to start clean and assure a predictable environment
module list
- list which modules are loaded
module avail
- list of all available modules
Modules and running code
When you load a collection of modules to compile a code, you generaly need to load the same modules before you run the resulting executable. Otherwise you may get runtime errors when the executable cannot find runtime libraries or it gets mismatched libraries, such as MPI.
In particular, batch scripts should start with loading the same modules that were loaded before buiding the software.
Modules and containers
The use of modules to manage the environment is standard in HPC. They fulfil a similar function as containers, but the software is installed on the system rather that being carried in a container.