6
Pmodules
assman_g edited this page 2024-06-12 21:33:27 +02:00

Documentation

Merlin Pmodules documentation: https://lsm-hpce.gitpages.psi.ch/merlin6/using-modules.html

PSI Pmodules documentation: http://pmodules.gitpages.psi.ch/index.html

Important module commands

Below is listed a summary of all available commands:

module use                       # show all available PModule Software Groups as well as Release Stages
module avail                     # to see the list of available software packages provided via pmodules
module use unstable              # to get access to a set of packages not fully tested by the community
module load <package>/<version>  # to load specific software package with a specific version
module search <string>           # to search for a specific software package and its dependencies.
module list                      # to list which software is loaded in your environment
module purge                     # unload all loaded packages and clean up the environment

module use/unuse

Without any parameter, use lists all available PModule Software Groups and Release Stages.

module use

When followed by a parameter, use/unuse invokes/uninvokes a PModule Software Group or Release Stage.

module use unstable   # Invokes the 'unstable' Release stable
module unuse unstable # Uninvokes the 'unstable' Release stable

module avail

This option lists all available PModule Software Groups and their packages.

Please run module avail --help for further listing options.

This is used to search for software packages. By default, if no Release Stage or Software Group is specified in the options of the module search command, it will search from the already invoked Software Groups and Release Stages. Direct package dependencies will be also showed.

$ module search openmpi/4.0.5_slurm

Module              Release    Group        Requires
---------------------------------------------------------------------------
openmpi/4.0.5_slurm stable     Compiler     gcc/8.4.0
openmpi/4.0.5_slurm stable     Compiler     gcc/9.2.0
openmpi/4.0.5_slurm stable     Compiler     gcc/9.3.0
openmpi/4.0.5_slurm stable     Compiler     intel/20.4

$ module load intel/20.4 openmpi/4.0.5_slurm

Please run module search --help for further search options.

module load/unload

This loads/unloads specific software packages. Packages might have direct dependencies that need to be loaded first. Most of the dependencies will be automatically loaded.

In the example below, the openmpi/4.0.5_slurm package will be loaded, however gcc/9.3.0 must be loaded as well as this is a strict dependency. Direct dependencies must be loaded in advance. Users can load multiple packages one by one or at once. This can be useful for instance when loading a package with direct dependencies.

 # Single line
 module load gcc/9.3.0 openmpi/4.0.5_slurm
 
 # Multiple line
 module load gcc/9.3.0
 module load openmpi/4.0.5_slurm

module purge

This command is an alternative to module unload, which can be used to unload all loaded module files.

module purge

module list

This command lists all your currently loaded modules.