Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Audet, Martin (Martin.Audet_at_[hidden])
Date: 2006-04-24 15:20:13


The current and the previous versions of OpenMPI define MPI_LONG_LONG_INT and MPI_LONG_LONG constants as the address of two distinct global variables (&ompi_mpi_long_long_int and &ompi_mpi_long_long respectively) which makes the following expression true: MPI_LONG_LONG_INT != MPI_LONG_LONG.

After consulting the MPI standards, I noticed the following:

 - The optional datatype corresponding to the optional C/C++ "long long" type is MPI_LONG_LONG_INT according to article 3.2.2. "Message data" of the MPI 1.1 standard ( and article 10.2. "Defined Constants for C and Fortran" ( of the MPI 1.1 standard.

 - The MPI_LONG_LONG optional datatype appeared for the first time in section 9.5.2. "External Data Representation: ``external32''" of the MPI 2.0 standard ( This paragraph state that with the external32 data representation, this datatype is eight (8) bytes long.

 - However the previous statement was recognized as an error in the MPI 2.0 errata document ( The MPI 2.0 document should have used MPI_LONG_LONG_INT instead of MPI_LONG_LONG. It also state the following:

   In addition, the type MPI_LONG_LONG should be added as an optional type; it is a synonym for MPI_LONG_LONG_INT.

This means that the real optional datatype corresponding to the C/C++ "long long" datatype is MPI_LONG_LONG_INT and that since MPI_LONG_LONG was mentioned by mistake in the MPI 2.0 standard document, the MPI_LONG_LONG predefined datatype constant is also accepted as a synonym to MPI_LONG_LONG_INT.

We should therefore have MPI_LONG_LONG_INT == MPI_LONG_LONG which is not the case in OpenMPI.

So please have a look at this issue.

Note that MPICH and MPICH2 implementations satisfy: MPI_LONG_LONG_INT == MPI_LONG_LONG.


Martin Audet E: martin DOT audet AT imi cnrc-nrc gc ca
Research Officer T: 450-641-5034
Industrial Material Institute / National Research Council
75 de Mortagne, Boucherville, QC, J4B 6Y4, Canada