[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