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 |
|
list modules/software loaded in the current session |
|
load a spcific module/software |
|
show information about a module |
|
help on the |
|
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.