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
.