User Tools

Site Tools


compiling

**This is an old revision of the document!**

Compiling and MPI

Compiler Modules

Gnu

(all gnu compilers by devtools or AHPCC,gcc/g++/gfortran) gcc/4.8.5, 7.3.1, 8.3.1, 8.4.0, 9.3.1

Version 4.8.5 is the base gcc rpm installation with Centos 7. The module does nothing but satisfies conditions for a compiler module by an MPI module (see below). It is out-of-date and we don't recommend it for most purposes. Versions 7.3.1, 8.3.1, 9.3.1 are RedHat devtools distributions with debugger,eclipse,etc.

Version 8.4.0 is a gcc/g++/gfortran distribution compiled by us. It is less complete than the devtools distributin. It is most useful as a runtime module for a program (particularly anaconda) that needs a reasonably up-to-date libstdc++.so.6, which is not updated in devtools and can be a problem when called by a library with newer CXXABI.

Gnu7,Gnu8

OpenHPC versions of gnu compilers. gnu7/7.3.0, gnu8/8.3.0. These are prerequisites to OHPC MPI and do have updated libstdc++.so.6.

Intel

(all intel compilers,icc/icpc/ifort) intel/14.0.3, 16.0.1, 17.0.4, 17.0.7, 18.0.1, 18.0.2, 19.0.4 , 19.0.5, 20.0.1, 20.0.4 Multiple versions are mostly for backwards compatibility. With modern Intel hardware, the latest Intel compiler is usually recommended. We recommend 14.0.3 for trestles AMD Bulldozer nodes and 19.0.5 for Pinnacle AMD nodes.

PGI

(pgcc,pgc++,pgf95) PGI/2016, 2016.5, 2017, 18.4, 18.10, 19.4

Oracle

(suncc,sunCC,sunf95) sunstudio/12.6

Clang

clang 3.4.2-9 is the base version installed by rpm. clang/5.0.1 is the devtoolset-7 version.

MPI Modules

OpenMPI and MVAPICH are compiled with the compilers they will be used with. Intel MPI and Platform MPI have runtime code to use either compiler. It would be possible to compile compiler-MPI versions for PGI/Oracle/Clang but we have not done so.

OpenHPC

modules gnu8/openmpi3/3.1.4,gnu8/mvapich2/2.3.2, gnu8/impi/2019.9.304 are available and have the prerequisite gnu8/8.3.0 modules intel/openmpi3/3.1.4,intel/mvapich2/2.3.2, and intel/impi/2019.9.304 are available and have the prerequisite intel/19.0.5

AHPCC installed

modules mvapich2/2.1, 2.2, 2.3.2, 2.3.4 modules openmpi/1.8.8, 2.0.1, 3.0.3, 4.0.4, 4.1.0 are available and have a prerequisite of a gcc or intel compiler.

Commercial

modules impi/5.0.0, 5.1.1, 5.1.2, 17.0.4, 17.0.7, 18.0.1, 18.0.2, 19.0.4, 19.0.5, 20.0.1, 20.0.4 module platform_mpi/9.1.2 are available and have a prerequisite of a gcc or intel compiler.

NVidia HPCx

modules hpcx/openmpi-2.4.1.0,openmpi-2.8.0,openmpi-mt-2.4,openmpi-mt-2.8 are available and have a prerequisite of a gcc compiler.

Notes

The AHPCC version of impi and the OpenHPC version behave differently. AHPCC follows the Intel default for IMPI with Intel compiler in that “mpiicc,mpiifort,mpiicpc” call Intel compilers, while “mpicc,mpif90,mpic++” call GNU compilers. In OpenHPC both commands call Intel compilers. This can give very different results in a script.

$ module reset;module load intel/19.0.5 intel/impi/2019.9.304
$ mpicc -v
icc version 19.0.5.281 (gcc version 4.8.5 compatibility)
$ module reset;module load intel/19.0.5 impi/19.0.5
$ mpicc -v
gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
$
compiling.1614371650.txt.gz · Last modified: 2021/02/26 20:34 by root