[MPI3 Fortran] MPI function symbol naming convention for tools

Rasmussen, Craig E rasmussn at lanl.gov
Wed Jun 22 11:12:12 CDT 2011


On Jun 20, 2011, at 9:45 PM, Martin Schulz wrote:

> Hi Craig, all,
> 
> (I cc-ed the tools group on this as well - this is regarding the
> issue how the profiling interface will work with the proposed
> new Fortran bindings):
> 
> 
> On Jun 20, 2011, at 10:15 AM, Rasmussen, Craig E wrote:
> 
>> I've talked with Jeff Squyres and we come up with naming convention that we'd like to propose for tools to have access to Fortran.
>> 
>> I believe we need four different symbol naming conventions.  Consider MPI_Recv(), the four functions are
>> 
>> 1. mpi_recv_f
>>       - This function implements (in C or Fortran) MPI_Recv with integer handles and the choice buffer passed by address.
> 
> Does this mean the existing mpi_recv binding will go away?
> This would break any existing tool. Can we keep the old naming
> scheme for the old interface? Or is this intended as an additional
> symbol?

Hum and YUK.  There really isn't an mpi_recv symbol as the Fortran compilers mangle the name.  We could keep the old mixed up name mangling scheme (and hopefully deprecate it) for the mpif.h usage.  This proposal give the C tools writer a common symbol name hook rather than compiler dependent mangling.

> 
>> 
>> 2. mpi_recv_f_nostatus
>>       - This function implements (in C or Fortran) MPI_Recv with integer handles without a status variable and the choice buffer passed by address.
> 
> Is this just for the new bindings?

New bindings only but could be made available to "use mpi" users.

> 
>> 
>> 3. mpi_recv_f08
>>       - This function implements (in C or Fortran) MPI_Recv with integer handles and the choice buffer passed via an array descriptor.
>> 
>> 4. mpi_recv_f_nostatus
>>       - This function implements (in C or Fortran) MPI_Recv with integer handles without a status variable and the choice buffer passed via an array descriptor.
> 
> I assume you mean mpi_recv_f08_nostatus?

Yes.  But Steve requested a name change to mpi_recv_desc and mpi_recv_desc_nostatus.

> 
>> 
>> Note that these functions only need to support integer handles because of the way we (thanks to Rolf) have chosen to define the handle types in the mpi_f08 module.

I should say support integer handles in C.  If implemented in Fortran the interface would be with typed Fortran handles for mpi_recv_desc and mpi_recv_desc_nostatus.

-craig



More information about the mpiwg-fortran mailing list