The module tool for Software

Plenty of software is installed on the magnitUDE and maintained by the HPC-Team. To manage the stack of available software, users may use the module tool. It is used to load specific software and configure the current environment for it usage.

Frequently used commands:

list modules/software available

module avail

list modules/software loaded in the current session

module list

load a spcific module/software

module load <moduleName>

show information about a module

module show <moduleName>

help on the module tool

module help

Examples

Loading a rescent GNU compiler (default is 4.8.5):

[user@login01 ~]$ module load gcc/11.2.0

Getting information about a intel compiler:

[user@login01 ~]$ module show compiler/latest
-------------------------------------------------------------------
/opt/modulefiles/intel-oneapi/compiler/latest:

conflict	 compiler32
conflict	 compiler
module-whatis	 Configure for use with Intel 64-bit compiler(s).
unsetenv	 INTEL_TARGET_ARCH_IA32
setenv		 CMPLR_ROOT /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1
  Load "debugger" to debug DPC++ applications with the gdb-oneapi debugger.
  Load "dpl" for additional DPC++ APIs: https://github.com/oneapi-src/oneDPL
append-path	 OCL_ICD_FILENAMES /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/linux/lib/x64/libintelocl.so
prepend-path	 PATH /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/linux/bin
prepend-path	 PATH /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/linux/bin/intel64
append-path	 MANPATH /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/documentation/en/man/common
prepend-path	 CMAKE_PREFIX_PATH /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/linux/IntelDPCPP
prepend-path	 NLSPATH /mnt/lxfs/opt/intel/oneapi/compiler/2022.0.1/linux/compiler/lib/intel64_lin/locale/%l_%t/%N
-------------------------------------------------------------------

Compiler and other libraries

Besides several versions of the GNU compiler suite, the intel one-api compilers are also installed. Software built with a specific compiler include the compuler name in their module names, e.g. hdf5/1.12.1/intel-2022.0.1-parallel.

Warning: Outdated versions are also available to ensure backward compatibility. It is strongly advised to use up-to-date compilers and libraries.

Intel development environment

If you intend to use the intel compiler and MPI libraries to build and run your software we recomment to load

module load compiler/latest
module load mkl/latest
module load mpi/latest

For using the mkl library, you may use the environment variable $MKLROOT.

Depending on the use case, environment variables (or makefile variables) must be set so that the correct compilers and options are utilized. The following shows an example for a fortran application with a few c routines:

export FC=mpiifort
export CC=icc
export FFLAGS="-O3 -xCORE-AVX2 -assume buffered-io"
export CFLAGS="-O3 -xCORE-AVX2"
export AR=xiar

GNU development environment

If you intend to use the GNU compilers and openMPI libraries to build and run your software we recomment to load

module load openmpi/4.1.1/gcc-10.3.0

Here, the GNU compilers in version 10.3.0 are loaded as a dependency.