Environment Modules

From bwHPC Wiki
Revision as of 20:06, 13 December 2013 by R Barthel (talk | contribs) (Created page with "The usage of compilers, libraries and software packages requires by default users to set up manually the user environment. The bwHPC clusters provide users the possibility to l…")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The usage of compilers, libraries and software packages requires by default users to set up manually the user environment.

The bwHPC clusters provide users the possibility to load and unload complete enviroments for compilers, libraries and software packages by single commands. Because of the convenient modularity this software is called Environment Modules.

Environment Modules

The Environment Modules software enables dynamic modification of your environment by the use of so-called modulefiles. A modulefile contains information to configure the shell for an application. Typically, a modulefile contains instructions that alter or set shell environment variables, such as PATH and MANPATH, to enable access to various installed software. One of the key features of using the Environment Modules software is to allow multiple versions of the same software to be used in your environment in a controlled manner. For example, two different versions of the Intel C compiler can be installed on the system at the same time - the version used is based upon which Intel C compiler modulefile is loaded. The software stack of bwHPC clusters provides a number of modulefiles. You can also create your own modulefiles. Modulefiles may be shared by many users on a system, and users may have their own collection of modulefiles to supplement or replace the shared modulefiles.

A modulefile does not provide configuration of your environment until it is explicitly loaded. That is, the specific modulefile for a software product or application must be loaded in your environment (with the

$ module load

command) before the configuration information in the modulefile is effective.

The modulefiles that are currently loaded for you can be displayed by the command

$ module list

. You only have to load further modulefiles, if you want to use additional software packages or to change the version of an already loaded software.