Intel® MPI Library Developer Guide for Linux* OS

ID 768728
Date 3/22/2024
Public
Document Table of Contents

Compilers Support

Intel® MPI Library supports the GCC* and Intel® compilers out of the box. It uses binding libraries to provide support for different glibc versions and different compilers. These libraries provide C++, Fortran 77, Fortran 90, and Fortran 2008 interfaces.

The following binding libraries are used for GCC* and Intel® compilers:

  • libmpicxx.{a|so} — for g++ version 3.4 or higher

  • libmpifort.{a|so} — for g77/gfortran interface for GCC and Intel® compilers

Your application gets linked against the correct GCC* and Intel® compilers binding libraries, if you use one of the following compiler wrappers: mpicc, mpicxx, mpifc, mpif77, mpif90, mpigcc, mpigxx, mpiicc, mpiicpc, or mpiifort.

For other compilers, PGI* and Absoft* in particular, there is a binding kit that allows you to add support for a certain compiler to the Intel® MPI Library. This binding kit provides all the necessary source files, convenience scripts, and instructions you need, and is located in the <install_dir>/opt/mpi/binding directory.

To add support for the PGI* C, PGI* Fortran 77, Absoft* Fortran 77 compilers, you need to manually create the appropriate wrapper script (see instructions in the binding kit Readme). When using these compilers, keep in mind the following limitations:

  • Your PGI* compiled source files must not transfer long double entities

  • Your Absoft* based build procedure must use the -g77, -B108 compiler options

To add support for the PGI* C++, PGI* Fortran 95, Absoft* Fortran 95, and GNU* Fortran 95 (4.0 and newer) compilers, you need to build extra binding libraries. Refer to the binding kit Readme for detailed instructions.