Re: [Mpi3-tools] [MPI3 Fortran] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind
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. Cheers, Bill -- Bill Long [email protected] 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
participants (1)
-
Bill Long