[Mpi3-tools] [MPI3 Fortran] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind

Bill Long longb at cray.com
Sun Apr 21 12:42:59 CDT 2013

On 4/21/13 10:57 AM, William Gropp wrote:

> There appears to be the following major implicit assumptions:
> 1) Tools will not define a Fortran interface that defines the MPI
> routines but rely on intercepting either the corresponding C routine
> (current practice) or some wrapper routine (this document, hence the
> definition of the wrapper names).  Some tools do implement the Fortran
> interface in Fortran.

My interpretation is that the long term goal is to have only one 
implementation of the actual workings  of each MPI routine, and that 
routine has the C name and calling conventions.  This certainly 
simplifies implementation and maintenance of the MPI library routines. 
It seems that it makes the tools simpler as well.   The proposal allows 
for that style of implementation in MPI 3.  Whether that becomes the 
only allowed style sometime in the future is out of scope for this 
proposal.  But getting experience with it would be useful input to that 
later discussion, and that requires it being at least permitted now.

> 2) The Fortran implementation will take the performance penalty of using
> a wrapper routine to perform the operation (discounting sophisticated
> IPA/WPA (interprocedural analysis/whole program analysis)).  Taking this
> performance penalty is common but not universal.

I agree there will be call overhead for the user who accesses MPI 
through the include file mechanism, unless, as you say, there is a 
sophisticated IPA/WPA mode in the compiler.  However, the compiler does 
not have to be all that sophisticated to inline a module routine.  The 
compiler has to know how to find the module information at compile time, 
and could have access to all the information needed to inline the 
wrapper.  This might even encourage users to cross that scary 1990 
barrier and switch to using the modules instead of include files.  That 
would be a good thing.


Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101

More information about the mpiwg-tools mailing list