[Mpi3-tools] [MPI3 Fortran] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind
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