[MPI3 Fortran] Fwd: Serious problem/bug in MPI libraries with the alignment of MPI_DOUBLE_PRECISION

N.M. Maclaren nmm1 at cam.ac.uk
Tue Sep 27 10:58:16 CDT 2011


On Sep 27 2011, Rolf Rabenseifner wrote:
>
>as far as I know, you represent some MPI libraries that are 
>not directly based on another one in the list:
> - mpich2: Rajeev
> - OpenMPI: Jeff
> - IBM: Rich Treumann
> - NEC: Hubert
> - Fujitsu: Shinji Sumimoto 
> - Microsoft: Fab 
>(Which independent library is missing on this list?)

When I used their systems and if I recall correctly, SGI and Sun did not
maintain from one of those bases - but that is some time ago, and I am
not even sure whether they still have a MPI.  If you still have contacts,
it's worth checking.

>  Aligments of:
>   - DOUBLE PRECISION within a SEQUENCE derived type = 4 (e.g. with Intel)
>   - DOUBLE PRECISION within a BIND(C)  derived type = 8
>   - MPI_DOUBLE_PRECISION (= k_i in MPI-2.2 p.78:45) = 4 or 8
>
>The details: 
>Which is the alignment of Fortran DOUBLE PRECISION according to
>k_i on MPI-2.2, page 78 line 45 and page 96 line 42.

Gug.  That has been causing trouble since I started using Fortran (40+
years back), but what you describe has been the consensus for 20+ years.
However, a few points:

    This is often option-dependent, most MPIs work with only some compiler
options, and so it is important to check what the result is for those.
Only a few code-generation option variations matter, of course.

    COMMON and SEQUENCE are not formally obsolescent, but are generally
disapproved of, and so consistency with BIND(C) is relatively important.
It's still a tricky question.

     Strictly, there are other possible variations, but they need such
a borderline use of the standard that I agree they should be ignored.
I doubt that anyone uses them in portable code.


Regards,
Nick Maclaren.




More information about the mpiwg-fortran mailing list