Skip to content

Compilers and Toolchains

Compilers and Toolchains

Compilers

The available compilers are accessed by loading the relevant module. The two mainly used compilers for Fortran and C/C++ codes are the GNU and Intel compilers.

To use the GNU compilers on our HPC systems you should load the GCC/GCCcore modules and to use the Intel compilers you should load the icc/ifort/iccifort modules.

Toolchains

Compiler toolchains are basically a set of compilers together with a bunch of libraries that provide additional support that is commonly required to build software. In the world of High Performance Computing this usually consists of an library for MPI (inter-process communication over a network), BLAS/LAPACK (linear algebra routines) and FFT (Fast Fourier Transforms).

The most commonly used toolchains on our HPC systems are listed below:

  • foss: GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.
  • fosscuda: GCC based compiler toolchain with CUDA support, and including OpenMPI for MPI support, OpenBLAS (BLAS and LAPACK support), FFTW and ScaLAPACK.
  • gcccuda: GNU Compiler Collection (GCC) based compiler toolchain, along with CUDA toolkit.
  • gompi: GNU Compiler Collection (GCC) based compiler toolchain, including OpenMPI for MPI support.
  • gompic: GNU Compiler Collection (GCC) based compiler toolchain along with CUDA toolkit, including OpenMPI for MPI support with CUDA features enabled.
  • iimpi: Compiler toolchain including Intel compilers and Intel MPI
  • intel: Compiler toolchain including Intel compilers, Intel MPI and Intel Math Kernel Library (MKL).