HPC compiler modules
Linux
modules
are often used by HPC systems allow using more current versions of software than are in the default system repositories.
A typical approach is to create an .sh file for a particular job type.
To avoid unexpected conflicts or hidden state, load only the modules necessary for a particular project.
Many modules are typically available, listed by:
module availThe currently loaded modules are listed by:
module listLoad recent GCC:
source gcc.shwith gcc.sh like:
module load gcc
export CC=gcc CXX=g++ FC=gfortranDetermine available GCC versions:
module avail gccLoad Intel oneAPI:
source oneapi.shwith oneapi.sh like:
module load intel-oneapi
export CC=icx CXX=icpx FC=ifx
export MPI_ROOT=$I_MPI_ROOTDetermine available Intel oneAPI versions:
module avail intel-oneapiSome HPC systems have a too-old GCC version defaulting for Intel oneAPI, which can be fixed by setting GCC toolchain.