[MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran 2008 interface - issue with the LOGICAL kind

Bill Long longb at cray.com
Thu Mar 21 13:49:13 CDT 2013

On 3/21/13 1:22 PM, Craig Rasmussen wrote:
> BIND(FORTRAN, name="MPI_Test_f08") seems like a great idea.
>   Unfortunately I can't find it in the Fortran standard :-(

And it would be a while before it was there.  We could argue that one of 
the uses of ENTRY was simply to give a procedure an alternate name. With 
Entry declared obsolete, we could add a NAME("MPI_Test_f08") optional 
suffix to provide that capability.

There is one minor question with that; the name mangling rules for 
BIND(C,name="xxx") are technically not that the external name is xxx, 
but rather the external name is the external name that a C function with 
the C name of xxx would have.   We could keep this same rule for a NAME( 
) suffix, since I think that is what we really want here.

> Perhaps J3 would be amenable to adding FORTRAN to language-binding-spec.

That would seem a lot less likely.

It would be convenient to also allow more than one NAME= spec in a 
BIND(C,...) clause.  That might pass.


> Craig Rasmussen
> CAS Scientific Programmer
> rasmus at cas.uoregon.edu <mailto:rasmus at cas.uoregon.edu>
> On Mar 21, 2013, at 10:11 AM, Hubert Ritzdorf wrote:
>>> I believe the NEC Fortran MPI API may do similar things.
>> This is right.
>> The tool guys are mainly looking for a well-defined name.
>> I think that it is a bad idea to kill backward compatibility, Fortran
>> profiling interface
>> and optimization possibilities of MPI implementers in order to get
>>  this well-defined name.
>> It would be possibly simpler to add a specific BIND(Fortran,
>> name="MPI_Test_f08") to Fortran
>> which sets the linker name instead of using BIND(C,
>> name="MPI_Test_f08") and we could
>> avoid all the interoperability problems which were found till now (and
>> in future).
>> MPI_Test is a relatively simple function. We have much more complex
>> functions which
>> might increase scalability problems (for example additional memory
>> allocation for MPI_Alltoallw in order to transform datatypes, possibly
>> counts, displacements)
>> for this requested approach.
>> The upper routines/functions might become complex or
>> cpu-time relevant  (example: implementation of MPI_SUBARRAYS_SUPPORTED).
>> In this case, the usage of performance (or debugging) tools which
>> ignore the work in
>> this upper functions (since these tools see only the C MPI  functions)
>> might
>> become problematic.
>> Hubert
>> ________________________________________
>> From: mpi3-fortran-bounces at lists.mpi-forum.org
>> <mailto:mpi3-fortran-bounces at lists.mpi-forum.org>
>> [mpi3-fortran-bounces at lists.mpi-forum.org
>> <mailto:mpi3-fortran-bounces at lists.mpi-forum.org>] on behalf of Jeff
>> Squyres (jsquyres) [jsquyres at cisco.com <mailto:jsquyres at cisco.com>]
>> Sent: Thursday, March 21, 2013 4:38 PM
>> To: MPI-3 Fortran working group
>> Cc: Martin Schulz
>> Subject: Re: [MPI3 Fortran] [Mpi-comments] MPI 3.0: Fortran     2008
>> interface  -       issue with the  LOGICAL kind
>> On Mar 21, 2013, at 8:26 AM, Craig Rasmussen <rasmus at cas.uoregon.edu
>> <mailto:rasmus at cas.uoregon.edu>> wrote:
>>> I talked with Martin yesterday and he would be happy to have the
>>> requirement in the standard that the Fortran wrappers MUST call the
>>> MPI C interface.  This would much simplify things for the tools
>>> community.  (I had earlier thought he would object to this solution.)
>> No!  This is NOT a good idea to mandate.
>> Open MPI currently has a bunch of Fortran functions that do NOT call
>> the corresponding MPI_<foo> C function.  Instead, they call some other
>> back-end, internal function.
>> I believe the NEC Fortran MPI API may do similar things.
>> --
>> Jeff Squyres
>> jsquyres at cisco.com <mailto:jsquyres at cisco.com>
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> _______________________________________________
>> mpi3-fortran mailing list
>> mpi3-fortran at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
>> Click
>> https://www.mailcontrol.com/sr/Geaaq1rkMOPGX2PQPOmvUpJBCTqJzJUeYtFmk42MgAlOvSHOzXVuO4Ep5Wd3HnToAzNTk47hsmGOdoKZwoXR0w==
>>  to report this email as spam.
>> _______________________________________________
>> mpi3-fortran mailing list
>> mpi3-fortran at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran

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-fortran mailing list