From Nano Group Budapest
Jump to navigation Jump to search


ESZR is a rebirth of the late forgotten initiative developed at KFKI in the 70s. The new ESZR is an initiative to unify the Hungarian HPC systems and community. ESZR is more like an LSB for Linux systems: a collection of good practices, templates and skeleton structures one can build on.

Module System

A well-tempered HPC systems leverages the full potential of environment modules. A module system is a structure of TCL scripts manipulating the shell environment for various needs.

On ESZR-enabled systems the ESZR-home is /site/eszr and the main module is loaded by:

 module use /site/eszr/mod/common
 module load eszr/site

In case of local install the ESZR-home is $HOME/site/eszr and the main module is loaded by:

 module use $HOME/site/eszr/mod/common
 module load eszr/local

All ESZR modules are relative to this directory (except some packages having default installpath in /opt). Programs should be installed in $ESZR_HOME/sw/program/release, where program/release is the corresponding program module in $ESZR_HOME/mod (program can contain arbitrary subdirectories eg.: category/program/release).


The modulefile sets the environment for a specific program. There are two problems related to environment modules: i) conflicts ii) dependency. It is difficult to solve the general problem of dependency chains yet keeping a simple module interface. Therefore ESZR forces the use of mutual exclusion by allowing only one module from a category being loaded at the same time. Modules should unload each other providing a conflict-free, well-specified environment for the user.

Modulefile skeleton