Skip to content

Compilers and Toolchains

GNU and Intel Compilers

We offer both GNU and Intel compilers. Here is the list of compilers you can find on our cluster.

Software Version Dependent Toolchain Module Load Command
intel-compilers 2022.2.1 intel/2022b module load intel-compilers/2022.2.1
intel-compilers 2021.4.0 intel/2021b module load intel-compilers/2021.4.0
GCC 12.2.0 foss/2022b module load GCC/12.2.0
GCC 13.2.0 foss/2023b module load GCC/13.2.0
GCC 11.2.0 foss/2021b module load GCC/11.2.0

MPI Libraries

MPI (Message Passing Interface) libraries are a set of software tools that allow for parallel computing on distributed memory systems, such as computer clusters. These libraries provide a standardized interface for communication between processes running on different nodes of the cluster. There are several implementations of MPI libraries available, such as OpenMPI, MPICH, and Intel MPI. Currently, the following MPI libraries on our cluster.

Software Version Dependent Toolchain Module Load Command
impi 2021.4.0 intel/2021b module load intel/2021b
impi 2021.7.1 intel/2022b module load intel/2022b
OpenMPI 4.1.1 foss/2021b module load foss/2021b
OpenMPI 4.1.6 foss/2023b module load foss/2023b
OpenMPI 4.1.4 foss/2022b module load foss/2022b

Toolchains

We use EasyBuild to install the packages as modules and to avoid too many packages tol load as a module, we use pre-defined build environment modules called toolchains which include a combination of tools such as compilers, libraries etc. We use foss and intel toolchains in Wulver. The advantage of using toolchains is that user can load either foss or intel as base package and the additional libraries such as MPI, LAPACK and other math libraries will be automatically loaded.

Free Open Source Software (foss)

The foss toolchains are versioned with a yearletter scheme, e.g. foss/2021b is the second foss toolchain composed in 2021. The foss toolchain comprises the following

📁 foss
├── 📁 gompi    ├── 📁 GCC
│      ├── 📄 GCCcore
│      ├── 📄 zlib
│      └── 📄 binutils
│   ├── 📄 OpenMPI
│   ├── 📄 numactl
│   ├── 📄 XZ
│   ├── 📄 libxml2
│   ├── 📄 libpciaccess
│   ├── 📄 hwloc
│   ├── 📄 OpenSSL
│   ├── 📄 libevent
│   ├── 📄 UCX
│   ├── 📄 libfabric
│   ├── 📄 PMIx
│   └── 📄 UCC
├── 📄 FFTW
├── 📄 OpenBLAS
├── 📄 ScaLAPACK
└── 📄 FlexiBLAS
Software Version Dependent Toolchain Module Load Command
foss 2022b - module load foss/2022b
foss 2023b - module load foss/2023b
foss 2021b - module load foss/2021b

To see GCC and OpenMPI versions details in each toolchain, see the list of compiler versions and OpenMPI versions.

Intel

Like foss, intel toolchains are versioned with yearletter scheme, e.g. intel/2021b is the second intel toolchain composed in 2021.

📁 intel
├── 📁 intel-compilers
│   ├── 📄 GCCcore      ├── 📄 zlib
│   └── 📄 binutils
├── 📁 iimpi
│   ├── 📄 iccifort
│   ├── 📄 Intel MPI
│   ├── 📄 numactl
│   └── 📄 UCX
└── 📄 Intel Math Kernel Library
Software Version Dependent Toolchain Module Load Command
intel 2022b - module load intel/2022b
intel 2022a - module load intel/2022a
intel 2021b - module load intel/2021b

The intel-compilers and impi versions in intel toolchains are tabulated in intel versions and impi versions. To see the versions of GCCcore and mkl libraries of intel toolchain, please load the intel toolchain module with yearletter version, e.g. module load intel/2021b and then use module li.