Compilers
On Hummel-2 a good starting point is the GNU compiler. There are three other compilers installed for achieving portability and/or possibly generation of faster code.
Installed compilers
- AMD Optimizing C/C++ and Fortran Compilers (AOCC)
- GCC, the GNU Compiler Collection
- Intel oneAPI
- NVIDIA HPC SDK
MPI libraries
There are only certain combinations of compilers and these MPI libraries directly available (see below).
Note: Do not confuse Open MPI (an implementation of the Message Passing Interface) with OpenMP (a parallel progamming model for Multi-Processors).
Compiler commands
| Language | Compiler family | |||
|---|---|---|---|---|
| AMD AOCC | GNU | Intel oneAPI | NVIDIA nvhpc | |
| C |
clang
|
gcc
|
icx
|
nvc
|
| C++ |
clang++
|
g++
|
icpx
|
nvc++
|
| Fortran |
flang
|
gfortran
|
ifx
|
nvfortran
|
| OpenMP flag | ||||
| all languages |
-fopenmp
|
-fopenmp
|
-qopenmp
|
-mp
|
Wrappers for compiling MPI programs
The table lists commands for combinations of compilers and MPI
implementations as provided by env
Modules.
| Language |
Compiler family / MPI implementation |
|||
|---|---|---|---|---|
|
AMD AOCC / Open MPI |
GNU / Open MPI |
Intel oneAPI / Intel MPI |
NVIDIA nvhpc / hpcx (Open MPI) |
|
| C |
mpicc
|
mpicc
|
mpiicx
|
mpicc
|
| C++ |
mpicxx
|
mpicxx
|
mpiicpx
|
mpicxx
|
| Fortran |
mpifort
|
mpifort
|
mpiifx
|
mpifort
|