Modular system
Modular system
In order to be able to use the software pre-installed on the cluster, such as programs, compilers and libraries, these must be loaded via the so-called module system.
When you log in to the cluster, frequently used modules are loaded automatically. You can display an overview of the currently loaded modules at any time with the following command:
module list |
All available modules can be displayed with module avail (module name only) and module whatis (module name with program name):
module avail |
You can also use module avail <directory> to display all modules whose paths begin with the specified directory. This is case-sensitive. The first example searches for modules whose paths start with "mpi". The second example shows all modules that contain "mpi" in their names, regardless of case:
module avail mpi |
Load a module contained under module avail with module load <module name>:
module load akka/2.4.1 |
It is also possible to load several modules at the same time. Simply separate the module names with spaces, i.e. module load <modulename1> <modulename2>
Some modules are mutually exclusive, e.g. different versions of the same program. If a module is to be replaced, the old module must first be unloaded with module unload <modulename>:
module unload jdk/1.6.0_01 |
To change a module version with just one command, module switch <old-module> <new-module> can be used:
module switch jdk/1.6.0_01 jdk/1.7u4 |
If you want to test a new program and are unsure whether the modules already loaded will affect the test, you can unload all modules at the same time with module purge
module purge |
The software that can be loaded via the modules is usually located on a single server in the Linux cluster. If a module is unloaded, it is possible that a (usually older) version of the same program is installed directly on the node. For example, a GCC compiler is still available on each node after module purge.
Further information on the module system can be called up with the module help command.