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
|