[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