[MPI3 Fortran] Straw vote on integer kind specifier (at MPI Forum)
Craig Rasmussen
crasmussen at newmexicoconsortium.org
Fri Nov 13 19:18:05 CST 2009
On Nov 13, 2009, at 5:27 PM, Aleksandar Donev wrote:
> On Friday 13 November 2009, Craig Rasmussen wrote:
>> 5. Use of generics doesn't seem to help. The generics would apply to
>> integer parameters like tag, dest, ... but not to the datatype.
>> Since the different wrapper compilers would have to used anyway
> I do not understand this one, please explain. Are you talking about
> MPI_Datatype and what does not apply to it? I thought the problem we
> were discussing were exactly the non-count integer parameters and
> generics cleanly resolve that problem.
> Aleks
>
Yes we were talking about the non-count integer parameters in the
context of how it might be used to simplify things where the -i8
option is used. Outside of that, it makes no sense to change
anything. Suppose I have the following code in file send.f90:
integer :: dest, tag
integer :: buf(100)
call MPI_Send(buf, 100, MPI_INTEGER, dest, tag, MPI_COMM_WORLD)
I can compile it with mpif90 and everything works fine:
mpif90 send.f90 -o send
But if I compile it with the -i8 switch (assuming generics) there is a
problem:
mpif90 -i8 send.f90 -o send
The symbols 100, dest, and tag all work fine because of generic
interfaces. However, my new buf array is now a different size than is
specified by MPI_INTEGER. However the above code works fine if
compiled with the same options as the MPI library was compiled with:
mpif90_i8 send.f90 -o send
or
mpif90 send.f90 -o send
I hope this is more clear.
-craig
More information about the mpiwg-fortran
mailing list