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
Loading and unloading modules
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
To check which actions would be taken with loading a specific module, you can use the show
option
> module show foo
> module show foo/1.2.3
Note: The output will only list the dependent load operations for a specific package. If one of those packages is already loaded it will be omitted in the output.
Searching modules
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
Personal module collections
You can save a collection of loaded modules to to a named collection with the save
option.
> module save <collection-name>
To restore a previously saved connection, you can restore the save module collection with the restore
option.
> module restore <collection-name>
To list all available personal module collections, you can use the savelist
option.
> module savelist
To remove a specific save module collection.
> module disable <collection-name>
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 | Core Compiler | MPI | Others |
---|---|---|---|---|
intel/2019b | iccifort/2019.5.281 | GCCcore/.8.3.0 | impi/2021.6.0 | imkl/2019.5.281 |
intel/2020a | iccifort/2020.1.217 | GCCcore/.9.3.0 | impi/2021.6.0 | imkl/2020.1.217 |
intel/2020b | iccifort/2020.4.304 | GCCcore/.10.2.0 | impi/2021.6.0 | imkl/2020.4.304 |
intel/2021a | iccifort/2020.1.217 | GCCcore/.10.3.0 | impi/2021.6.0 | imkl/2020.1.217 |
intel/2021b | intel-compilers/2021.4.0 | GCCcore/.11.2.0 | impi/2021.6.0 | imkl/2021.4.0 imkl-FFTW/2021.4.0 |
intel/2022a | intel-compilers/2022.1.0 | GCCcore/.11.3.0 | impi/2021.6.0 | imkl/2022.1.0 imkl-FFTW/2022.1.0 |
iimpi/2019b | iccifort/2019.5.281 | GCCcore/.8.3.0 | impi/2021.6.0 | |
iimpi/2020a | iccifort/2020.1.217 | GCCcore/.9.3.0 | impi/2021.6.0 | |
iimpi/2020b | iccifort/2020.4.304 | GCCcore/.10.2.0 | impi/2021.6.0 | |
iimpi/2021a | iccifort/2020.1.217 | GCCcore/.10.3.0 | impi/2021.6.0 | |
iimpi/2021b | intel-compilers/2021.4.0 | GCCcore/.11.2.0 | impi/2021.6.0 | |
iimpi/2022a | intel-compilers/2022.1.0 | GCCcore/.11.3.0 | impi/2021.6.0 | |
iompi/2020a | iccifort/2020.1.217 | GCCcore/.9.3.0 | OpenMPI/4.0.3 | |
iompi/2020b | iccifort/2020.4.304 | GCCcore/.10.2.0 | OpenMPI/4.0.5 | |
iompi/2021a | intel-compilers/2021.2.0 | GCCcore/.10.3.0 | OpenMPI/4.1.1 | |
iomkl/2020a | iccifort/2020.1.217 | GCCcore/.9.3.0 | OpenMPI/4.0.3 | imkl/2020.1.217 |
iomkl/2020b | iccifort/2020.4.304 | GCCcore/.10.2.0 | OpenMPI/4.0.5 | imkl/2020.4.304 |
iomkl/2021a | intel-compilers/2021.2.0 | GCCcore/.10.3.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 |