FOSS (gcc) Toolchains

A toolchain consists of one or more compilers, usually put together with some libraries for specific functionality, e.g., for using an MPI stack for distributed computing, or which provide optimized routines for commonly used math operations, e.g., the well-known BLAS/LAPACK APIs for linear algebra routines.

Hence loading a toolchain modulefile gives you a compiler, and a set of libraries compiled with that compiler, that you can then use to build your own applications – for example compiling your own source code.

The following Free-Open-Source-Software (FOSS) toolchains are available. The version number (e.g., 2019b) refers to when the toolchain was created. They are typically created twice a year. To see which compiler and library modulefiles will be loaded by the toolchain, run:

module show name/version

You should load one of the following modulefiles:

# GCC compilers + OpenMPI (parallel library) + maths libs BLAS (and LAPACK), FFTW, ScaLAPACK 
module load foss/2021a          # gcc 10.3.0, openmpi 4.1.1, flexiblas 3.0.4, fftw 3.3.9, scalapack 2.1.0
module load foss/2020a          # gcc 9.3.0,  openmpi 4.0.3, openblas 0.3.9,  fftw 3.3.8, scalapack 2.1.0
module load foss/2019b          # gcc 8.3.0,  openmpi 3.1.4, openblas 0.3.7,  fftw 3.3.8, scalapack 2.0.2

# GCC compilers + OpenMPI (parallel library)
module load gompi/2021a         # gcc 10.3.0, openmpi 4.1.1
module load gompi/2020a         # gcc 9.3.0,  openmpi 4.0.3
module load gompi/2019b         # gcc 8.3.0,  openmpi 3.1.4

# GCC compilers (not a "toolchain", just the compiler)
module load gcc/10.3.0
module load gcc/9.3.0
module load gcc/8.3.0

See elsewhere in the documentation for details of the GCC Compiler, OpenBLAS and OpenMPI.

Last modified on October 26, 2022 at 9:32 am by George Leaver