Module Environment on JUQUEEN
On JUQUEEN, software packages like compilers, tools, applications, and libraries are provided to users through the module tool. The module concept eases the use of software. For each software package a specific module script is provided that defines envorinment variables, paths to executables, libraries, header files, etc. Therefore, the user does not need to figure out what is needed and where needed components are stored in the file system in order to use a certain piece of software. Furthermore, it allows providing different versions of a software package.
The module tool is used on the command line in the following way:
In the following table the most important options of the module command are explained.
|List of available options|
|Lists all available modules|
|Lists all currently loaded modules|
load mod [mod2 ...]
|Loads a module mod. It is allowed to load more than one module per command invocation.|
unload mod [mod2 ...]
|Removes loaded modules. It is allowed to remove more than one module per command invocation.|
swap mod1 mod2
|Unloads mod1 and loads mod2|
|Shows the actual changes that will take place in the environment when the module is loaded|
|Provides the user with some information about the module and the corresponding software package.|
On JUQUEEN there is a distinction between applications running on the front-end (login) nodes and back-end (compute) nodes. Applications, that are made available by modules on the compute nodes are stored under the directory /bgsys/local/ whereas applications to be used on the front end are given in /usr/local/. Therefore, it is important to load the needed modules within the job script if the corresponding application (or library etc.) is needed for the runs on the compute nodes.
Furthermore, the modules are devided into 6 categories:
COMPILER, IO, MATH, MISC, SCIENTIFIC, TOOLS
The following table summarizes the categories available for front-end and back-end nodes.
Besides those modules that point directly to the corresponding applications, there is a further module named UNITE, which itself contains a whole bunch of modules that focus on analysing and debugging issues. The command
module load UNITE
makes them available to the user.