[MPI3 Fortran] Straw vote on integers kinds

Bill Long longb at cray.com
Wed Sep 16 09:55:40 CDT 2009



Malcolm Cohen wrote:
> Craig Rasmussen wrote:
>> Please vote for one of the options.
> 
> I don't see the option I prefer, viz all interfaces to be generic and 
> not specific.  

I would vote for a generic option.


> 
> Bill Long wrote:
>> Of course, the ideal situation would be to outlaw completely the use 
>> of the -i8 and -r8  (and even worse, one and not the other) options.
>> Perhaps this could be an MPI requirement - no program that uses MPI is 
>> allowed to use these switches.  That would be an enormous step in the 
>> right direction.
> 
> Use of -i8 without -r8 and vice versa are already prohibited by the 
> Fortran standard, where it says that default integer and default real 
> take the same storage size.  I don't see what saying it again in MPI 
> gains you.
> 

You know the rules, as do I and a few other people.  And some vendors 
likely enforce this restriction - we used to until the benchmark group 
put on the pressure since so many benchmarks are (poorly) written to 
assume the combination of -i4 -r8.  I still get complaints/blank stares 
when we issue non-conformance messages about this.  So, for the 90% who 
don't know this rule, the MPI statement is educational; for the other 
10%, is says "we really mean it this time".



> 
> MPI could pick REAL(C_DOUBLE from ISO_C_BINDING) as Bill suggested, 
> though C_DOUBLE is not guaranteed to be available, 


Though if C_DOUBLE is not available, it is a bit questionable how 
interoperability is achieved, since (double) is what the C routine is 
returning.  Maybe better to be up front about the issue, and give the 
user an error.  Alternatively, since Fortran already provides timing 
intrinsics, it might be better to just omit these MPI routines from the 
Fortran interface entirely. [I know - there is a legacy code issue...]

Cheers,
Bill





-- 
Bill Long                                   longb at cray.com
Fortran Technical Support    &              voice: 651-605-9024
Bioinformatics Software Development         fax:   651-605-9142
Cray Inc., 1340 Mendota Heights Rd., Mendota Heights, MN, 55120





More information about the mpiwg-fortran mailing list