[MPIWG Fortran] Type of MPI_Status
malcolm at nag-j.co.jp
Mon Mar 17 19:19:14 CDT 2014
On Mar 17, 2014, at 2:19 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
> So what you're saying is that users will not be able to use "-i8" or
> equivalent when building OpenMPI? That is quite common despite being
> totally evil.
Bill Long writes:
>I completely agree it is both common and evil. But it is the real world.
>Typically, the reason is to make REAL 64-bit, but to stay clean with Fortran
>rules you need to make INTEGER 64-bit as well. Hence compiler switches to set
>the default to 64-bits.
Another quite common situation is that people actually do want default integer
to be 64-bit, because they have big arrays and would run the risk of overflowing
32-bit integer subscripts. In fact I have been increasingly seeing -i8
without -r8 i.e. REAL=32bit DOUBLEPRECISION=64-bit INTEGER=64-bit, and the
program uses DOUBLEPRECISION and INTEGER. Ugh. Not how I would do things but
the customer is always right!
(Also w.r.t. "evil", reasonable people can hold the opinion that it is Fortran's
storage association feature that is evil, not the ability to specify what size
default INTEGER should be. In the absence of storage association there is no
reason to require default INTEGER to be the same size as anything else.)
................................Malcolm Cohen, Nihon NAG, Tokyo.
More information about the mpiwg-fortran