Modules and applications
What is a Modules package?A Modules package is a tool to let users to easily configure their computing environment which includes
We employ two types of Modules packages:
|
Two software stacks on Euler
While Leonhard Open contains only one software stack which uses LMOD Modules, Euler contains two software stacks:
- The new software stack uses LMOD Modules
- The old software stack uses Environment Modules
Upon your login on Euler, the old software stack is set by default. You can switch from the old software stack to the new software stack by typing the command:
$ env2lmod
and vice-versa
$ lmod2env
All new software is installed exclusively in the new software stack.
Modules commands
module | get info about module sub-commands |
module avail | list all modules available on the cluster |
module avail <name> | list all modules that match <name> |
module key <keyword> | list all modules whose description contains <keyword> |
module help <name> | get information about module <name> |
module show <name> | show what module name does (without loading it) |
module load <name> | load module <name> |
module list | list all currently loaded modules |
Example
In this example we load GCC compiler version 4.8.2 and the most recent Python version in the old software stack, switch to the new software stack where we load GCC 6.3.0 and the most recent Python version, then switch back to the old software stack to load Python again
Load GCC and new module in the old software stack:
$ module load new gcc/4.8.2 $ module avail python ------------------------------ /cluster/apps/modules/modulefiles ------------------------------ python/2.7.12 python/2.7.13 python/2.7.6(2.7) python/2.7.9 python/3.3.3(3:3.3) python/3.4.3 python/3.6.0 ------------------------------ /cluster/apps/modules/new -------------------------------------- python/2.7.14 python/2.7.6_UCS4 python/3.6.1 python/3.7.1
Load the newest Python
$ module load python/3.7.1 Autoloading openblas/0.2.13_seq
$ module list Currently Loaded Modulefiles: 1) modules 3) gcc/4.8.2(default:4.8) 5) python/3.7.1 2) new 4) openblas/0.2.13_seq(default:seq)
Switching to the new software stack:
$ env2lmod $ module list Currently Loaded Modules: 1) StdEnv 2) gcc/4.8.5
Load GCC 6.3.0 and check Python version
$ module load gcc/6.3.0 The following have been reloaded with a version change: 1) gcc/4.8.5 => gcc/6.3.0
$ module avail python --------------------------- /cluster/apps/lmodules/Compiler/gcc/6.3.0 ------------------------------------- python/2.7.14 python/3.6.4 python/3.7.4 python/3.8.5 (D) python_gpu/3.8.5 Where: D: Default Module Use "module spider" to find all possible modules. Use "module keyword key1 key2 ..." to search for all possible modules matching any of the "keys".
Load new Python
$ module load python/3.8.5 $ module list Currently Loaded Modules: 1) StdEnv 2) gcc/6.3.0 3) openblas/0.2.20 4) python/3.8.5
Switching back to the old software stack:
$ lmod2env $ module list Currently Loaded Modulefiles: 1) modules
Load Python 3.7.1 again
$ module load new gcc/4.8.2 python/3.7.1 Autoloading openblas/0.2.13_seq $ module list Currently Loaded Modulefiles: 1) modules 3) gcc/4.8.2(default:4.8) 5) python/3.7.1 2) new 4) openblas/0.2.13_seq(default:seq)