[MPI3 Fortran] Teleconference Wednesday, Sept. 17: Summary

Jeff Squyres jsquyres at cisco.com
Wed Sep 17 12:11:05 CDT 2008


On Sep 17, 2008, at 1:03 PM, Aleksandar Donev wrote:

>> MPI_GATHER(sendbuf, sendcount, sendtype, recvbuf, recvcount,  
>> recvtype,
>> root, comm)
>> MPI_GATHER(sendcount, sendtype, recvbuf, recvcount, recvtype, root,
>> comm)
>>   --> i.e., leave off the sendbuf argument instead of passing
>> MPI_IN_PLACE
>>
>> Both of these examples should be pretty easy to match via overloading
>> the functions.  The first one could probably be an optional argument
>> since "status" is the last argument.  But I don't think the spec
>> should mandate which way it is implemented -- I think the spec should
>> only indicate which bindings should be available to user  
>> applications.
> To be honest I don't know C++ generic rules enough, but just note  
> that they
> are different from Fortran and we must ensure that any rules are  
> consistent
> with Fortran. You cannot, and should not, simply cut and paste the C/ 
> C++
> bindings and just replace a few keywords because the rules for generic
> disambiguation should be taken into account.


Sure; I wasn't suggesting that we do that.  All I said was that we  
should take a cue from the C++ bindings.

My two examples above should be pretty easy to do in Fortran -- there  
are different types and counts for arguments such that ambiguity  
should not occur (e.g., the differing location for "sendtype" alone  
should be enough for the 2 MPI_GATHER bindings).  I admit to not  
knowing the specific Fortran matching rules, so please correct me if  
this is wrong.  The examples I presented seemed pretty straightforward  
-- I deliberately chose them for their simplicity.

-- 
Jeff Squyres
Cisco Systems




More information about the mpiwg-fortran mailing list