Compilation on Devana¶
Devana offers a wide range of compilers for various programming languages to ensure compatibility with your workloads. You can view the available compilers by running the following command:
module avail compiler
Available Compilers
The following compilers are available on the cluster:
* C/C++
* Fortran 77/90/95
* Java
* NVIDIA CUDA
The C/C++ and Fortran compilers are provided by the following options:
Open Source:
* GNU GCC
* Clang/LLVM
Commercial Licenses:
* Intel
Common Toolchains¶
You can set up your environment with the desired compiler toolchain (e.g., Intel toolchain version 2022a) by using:
module load intel/2022a
Compiler Toolchains
There are two main compiler toolchains available:
- Intel Toolchain: Includes Intel compilers and libraries.
- FOSS Toolchain: Composed of open-source compilers and libraries.
Intel Toolchain¶
The Intel toolchain provides optimized compilers and libraries, particularly useful for applications that require high-performance computing. It includes:
- Intel C/C++/Fortran compilers (
icc
,icpc
,ifort
) - Intel MPI library
- Intel Math Kernel Library (MKL) for BLAS, LAPACK, and FFT functionalities
FOSS Toolchain¶
The FOSS (Free and Open-Source Software) toolchain includes open-source alternatives for building and running applications. It includes:
- GNU GCC compilers
- Open MPI library
- FlexiBLAS (OpenBLAS + LAPACK)
- FFTW and ScaLAPACK libraries
Tip
If you're working with high-performance applications and require optimizations, consider using the Intel toolchain. For open-source alternatives, the FOSS toolchain is a robust option.
Component Versions in Intel Toolchains¶
Here are the key versions included in the Intel toolchain:
Version | GCC | Binutils | Intel Compilers | Intel MPI | Intel MKL |
---|---|---|---|---|---|
2022a | 11.3.0 | 2.38 | 2022.1.0 | 2021.6.0 | 2022.1.0 |
2022b | 12.2.0 | 2.39 | 2022.2.1 | 2021.7.1 | 2022.2.1 |
2023a | 12.3.0 | 2.40 | 2023.1.0 | 2021.9.0 | 2023.1.0 |
Component Versions in FOSS Toolchains¶
The FOSS toolchain includes the following versions:
Version | GCC | OpenMPI | FlexiBLAS | FFTW | ScaLAPACK |
---|---|---|---|---|---|
2020a | 9.3.0 | 4.0.3 | - | 3.3.8 | 2.1.0 |
2020b | 10.2.0 | 4.0.5 | - | 3.3.8 | 2.1.0 |
2021a | 10.3.0 | 4.1.1 | 3.0.4 | 3.3.9 | 2.1.0 |
2021b | 11.2.0 | 4.1.1 | 3.0.4 | 3.3.10 | 2.1.0 |
2022.05 | 11.3.0 | 4.1.4 | 3.2.0 | 3.3.10 | 2.2.0 |
2022a | 11.3.0 | 4.1.4 | 3.2.0 | 3.3.10 | 2.2.0 |
2022b | 12.2.0 | 4.1.4 | 3.2.1 | 3.3.10 | 2.2.0 |
Example
To load the Intel 2022a toolchain:
module load intel/2022a
To load the FOSS 2022b toolchain:
module load foss/2022b
By selecting the right compiler and toolchain for your needs, you can optimize your code and make the most out of Devana's high-performance computing capabilities.