Environment Modules
Definition¶
Environment Modules provide the
dynamic modification of a user's environment via modulefiles.
On Euler there are Modules based on
Lua.
Documentation¶
https://lmod.readthedocs.io/en/latest/index.html
| Command | Explanation |
|---|---|
| module list | List currently loaded modules. |
| module avail | List available modules. |
| module load package1 package2 ... | Load packages. |
| module unload package1 package2 ... | Unload packages. |
| module swap package1 package2 | Swap package1 for package2. |
| module purge | Unload all modules. |
| module reset | Reset to the initial set of modules. |
| module overview | Provides a concise list of available modules. |
| module help packageName | Display help message for package. |
| module help | List all the commands that module knows about. |
| module spider | Searches the entire list of possible modules. The difference between “module avail” and “module spider” is explained in the “Module Hierarchy” and “Searching for Modules” section. |
| module show | Shows the functions such as setenv() or prepend_path() but nothing else. |
Modules on Euler¶
The modules on Euler are organized in multiple stacks. The content of
each stack is listed in "Euler applications and libraries
ubuntu". Prefer
newer over older stacks.
Each stack contains 3 hierarchical layers:
- The core layer contains all modules which only depend on the core compiler.
- The compiler layer contains all modules which depend on a particular compilers, but not on any MPI library.
- The MPI layer contains modules that depend on a particular combination of a compiler and a MPI library.
The consequence of hierarchical layers is that it's impossible to have
two different versions of the same module loaded at the same time, or to
mix compilers and MPI libraries. This helps to avoid environment
misconfigurations.
To explore stacks, use module avail.