[MPI3 Fortran] The alignment kerfluffle

N.M. Maclaren nmm1 at cam.ac.uk
Thu Sep 29 05:29:13 CDT 2011


On Sep 28 2011, Jeff Squyres wrote:

< Points omitted. >

Yes.  I agree with all of those.  The ONLY way that these can be fixed
properly by by the language itself.  At best, MPI can describe practice
that works on most systems that support MPI, today.

> 5. Different environments have different sizes for un-sized types (e.g., 
> DOUBLE PRECISION and others). As Fab cited, one choice that a developer 
> of portable software can make is to use explicitly-sized types (e.g., 
> int32_t).

Actually, no.  All that does is to degrade the meaning of the word
'portability' to mean that it applies to only an extremely small subset
of systems and requirements.  If one wants to write code that is portable
over time, over scale of problem or to all potential systems, then it is
precisely the wrong thing to do.  Also int32_t doesn't mean what most
people think that it does.

We have seen that practice harm portability at least a dozen times,
to my personal recollection!

> With these points, I conclude that nothing should be done to the 
> standard, except maybe an ATU advising them of the potential portability 
> issue, and suggestions on how to code around it.

I fully agree.  Most of the claims that things are required by the various
standards should be changed to saying that this will work on almost all
systems that support MPI, today, but may not work on absolutely everything
and may not be reliable a decade hence.

> We'll fix the alignment test in Open MPI and I suspect that everyone will 
> continue to not care. :-)

Yup :-)


Regards,
Nick Maclaren.




More information about the mpiwg-fortran mailing list