Available Toolchains and Toolchain Compatibility
We use EasyBuild to build most of the software modules on the Sapelo2 cluster. Easybuild is a software build and installation framework that allows us to manage scientific software on High Performance Computing (HPC) systems in an efficient way. EasyBuild employs so-called compiler toolchains or, simply toolchains for short, in handling the build and installation processes. A typical 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. For detailed info about EasyBuild and its toolchains, please refer to EasyBuild and toolchains
Available foss and intel toolchains on Sapelo2
Name | Version | Compiler(s) | MPI library | Linear algebra library | FFT |
---|---|---|---|---|---|
foss | 2022b | GCC/12.3.0 | OpenMPI/4.1.4 | FlexiBLAS/3.2.1, ScaLAPACK/2.2.0 | FFTW/3.3.10, FFTW.MPI/3.3.10 |
2022a | GCC/11.3.0 | OpenMPI/4.1.4 | FlexiBLAS/3.2.0, ScaLAPACK/2.2.0 | FFTW/3.3.10, FFTW.MPI/3.3.10 | |
2021b | GCC/11.2.0 | OpenMPI/4.1.1 | FlexiBLAS/3.0.4, ScaLAPACK/2.1.0 | FFTW/3.3.10 | |
2019b | GCC/8.3.0 | OpenMPI/3.1.4 | OpenBLAS/0.3.7, ScaLAPACK/2.0.2 | FFTW/3.3.8 | |
gompi | 2022a | GCC/11.3.0 | OpenMPI/4.1.4 | ||
2021b | GCC/11.2.0 | OpenMPI/4.1.1 | |||
2019b | GCC/8.3.0 | OpenMPI/3.1.4 | |||
gfbf | 2022b | GCC/12.2.0 | OpenBLAS/0.3.21,FlexiBLAS/3.2.1 | FFTW/3.3.10 | |
GCC | 12.2.0, 11.3.0, 11.2.0, 10.2.0, 8.3.0 | ||||
GCCcore | 12.3.0, 12.2.0, 11.3.0, 11.2.0, 10.2.0, 8.3.0 |
Name | Version | GCCcore | Intel Compiler (icc, icpc, ifort) | MPI library | MKL, FFT |
---|---|---|---|---|---|
intel | 2023a | GCCcore/12.3.0 | intel-compilers/2023.1.0 | impi/2021.9.0 | imkl/2023.1.0 imkl-FFTW/2023.1.0 |
2022a | GCCcore/11.3.0 | intel-compilers/2022.1.0 | impi/2021.6.0 | imkl/2022.1.0 imkl-FFTW/2022.1.0 | |
2021b | GCCcore/11.2.0 | intel-compilers/2021.4.0 | impi/2021.4.0 | imkl/2021.4.0 imkl-FFTW/2021.4.0 | |
iimpi | 2023a | GCCcore/12.3.0 | intel-compilers/2023.1.0 | impi/2021.9.0 | |
2022a | GCCcore/11.3.0 | intel-compilers/2022.1.0 | impi/2021.6.0 | ||
2021b | GCCcore/11.2.0 | intel-compilers/2021.4.0 | impi/2021.4.0 | ||
intel-compilers | 2023.1.0 | GCCcore/12.3.0 | |||
2022.1.0 | GCCcore/11.3.0 | ||||
2021.4.0 | GCCcore/11.2.0 |
For a complete list of EasyBuild toolchains, please refer to List_of_known_toolchains
Toolchain compatibility
- Software modules built by EasyBuild generally have names in a format like Name/Version-Toolchain. When you load more than one software module built by EasyBuild, please make sure that all modules are built with the same or compatible toolchains. You can check this by looking into software modules' names. If you load more than one module and some toolchains are incompatible, you will receive the following Lmod error:
Lmod has detected the following error: These module(s) exist but cannot be loaded as requested
- When loading a conflicting module, one or more dependent modules of the software you previously loaded may be replaced. Most likely the software you loaded earlier got broken because of this.
- Table below gives examples of compatible toolchains. Multiple software modules built with compatible toolchains can be loaded together in one computational job or one interactive session:
Toolchain Family | Compatible Toolchains |
---|---|
foss | foss/2022b , gompi/2022b , GCC/12.2.0 , GCCcore/12.2.0 |
foss/2022a , gompi/2022a , GCC/11.3.0 , GCCcore/11.3.0 | |
foss/2021b , gompi/2021b , GCC/11.2.0 , GCCcore/11.2.0 | |
foss/2019b , gompi/2019b , GCC/8.3.0 , GCCcore/8.3.0 | |
intel | intel/2023a , iimpi/2023a , intel-compilers/2023.1.0 , GCCcore/12.3.0 |
intel/2022a , iimpi/2022a , intel-compilers/2022.1.0 , GCCcore/11.3.0 | |
intel/2021b , iimpi/2021b , intel-compilers/2021.4.0 , GCCcore/11.2.0 |