The system now uses a combination of the LMOD module system and the EasyBuild automatic build framework. Although, largely compatible LMOD has some differences in usage and module names as documented below.
Basics
LMOD uses a hierarchical module scheme, where not all modules are visible at any given time. You can list the module currently available with the avail
option.
> module avail
You can load a module with the load
option.
> module load foo
Note: If no version is specified, the default version is automatically chosen. If only a single version is available of a certain module, then this will automatically become the default. Default versions of modules are marked with (D)
in the list of available modules.
When loading a module, the module system may set module-specific variables in the environment. This may influence the PATH
and LD_LIBRARY_PATH
, influencing executables and libraries visible to the user. To remove any modifications to the environment by a specific module, you can unload specific modules with the unload
option.
> module unload foo
To unload all modules at once, you can purge
the module environment, which unloads all loaded modules.
> module purge
To get a list of all loaded modules, you can use the list
option.
> module list
If you don't know how a specific module is called or a module is currently not visible to you and you want search for a software, you can use the spider
option.
> module spider foo
Note: Searching for a module with spider
is case in-sensitive and also returns partial matches (the search argument is part of an existing module). Further note that spider
searches in the module name and the description.
When called with only with the module name and no specific version, the output of spider
lists all available version across all toolchains. When called with a specific version, the output lists toolchains that will make it available.
> module spider foo/1.2.3
To unload a module and load a module with one call, you can use the switch
option.
> module switch foo bar
NOTE: LMOD automatically unloads conflicting modules and inactivates modules that are no longer available.
If you want to reset the module environment to the system default, you can use the reset
option.
> module reset
Core Compiler
For all packages a certain version of GCC is automatically loaded as GCCcore
module. The GCCcore
module will be part of the dependencies for making a certain module visible.
Toolchains
Toolchains are so-called meta modules that load a specific Compiler and MPI combination (and in some cases some additional libraries).
Existing Toolchains
Intel-based
Toolchain | Compiler | MPI | Others |
---|---|---|---|
intel/2019b | iccifort/2019.5.281 | impi/2021.6.0 | imkl/2019.5.281 |
intel/2020a | iccifort/2020.1.217 | impi/2021.6.0 | imkl/2020.1.217 |
intel/2020b | iccifort/2020.4.304 | impi/2021.6.0 | imkl/2020.4.304 |
intel/2021a | iccifort/2020.1.217 | impi/2021.6.0 | imkl/2020.1.217 |
intel/2021b | intel-compilers/2021.4.0 | impi/2021.6.0 | imkl/2021.4.0 imkl-FFTW/2021.4.0 |
iompi/2020a | iccifort/2020.1.217 | OpenMPI/4.0.3 | |
iompi/2020b | iccifort/2020.4.304 | OpenMPI/4.0.5 | |
iompi/2021a | intel-compilers/2021.2.0 | OpenMPI/4.1.1 | |
iomkl/2020a | iccifort/2020.1.217 | OpenMPI/4.0.3 | imkl/2020.1.217 |
iomkl/2020b | iccifort/2020.4.304 | OpenMPI/4.0.5 | imkl/2020.4.304 |
iomkl/2021a | intel-compilers/2021.2.0 | OpenMPI/4.1.1 | imkl/2021.2.0 |
GCC-based
Toolchain | Compiler | MPI | Others |
---|---|---|---|
foss/2020a | GCC/9.3.0 | OpenMPI/4.0.3 | OpenBLAS/0.3.9 FFTW/3.3.8 ScaLAPACK/2.1.0 |
foss/2021a | GCC/10.3.0 | OpenMPI/4.1.1 | FlexiBLAS/3.0.4 FFTW/3.3.9 ScaLAPACK/2.1.0-fb |
foss/2021b | GCC/11.2.0 | OpenMPI/4.1.1 | FlexiBLAS/3.0.4 FFTW/3.3.10 ScaLAPACK/2.1.0-fb |
gompi/2020a | GCC/9.3.0 | OpenMPI/4.0.3 | |
gompi/2020b | GCC/10.2.0 | OpenMPI/4.0.5 | |
gompi/2021a | GCC/10.3.0 | OpenMPI/4.1.1 | |
gompi/2021b | GCC/11.2.0 | OpenMPI/4.1.1 | |
gomkl/2020a | GCC/9.3.0 | OpenMPI/4.0.3 | imkl/2020.1.217 |
gomkl/2020b | GCC/10.2.0 | OpenMPI/4.0.5 | imkl/2020.4.304 |
gomkl/2021a | GCC/10.3.0 | OpenMPI/4.1.1 | imkl/2021.2.0 |
gcccuda/2019a | GCC/8.3.0 | CUDA/10.1.243 |