[MPI3 Fortran] MPI function symbol naming convention for tools

Bill Long longb at cray.com
Mon Jun 20 14:24:51 CDT 2011


For those of us who are clearly missing some pieces here, could you 
write out the full interfaces for the 4 routines mentioned below?  Thanks.

Cheers,
Bill


On 6/20/11 1:09 PM, Rasmussen, Craig E wrote:
> No, the status variable will be of type(MPI_Status) and will be made "optional" through overloading.  Only the IERROR will have the optional attribute.  We felt it would complicate things if more that one variable had the optional attribute.  Please comment on this choice, perhaps there is a better way for the status variable to be optional.
>
> The goal is to allow a user to pass MPI_STATUS_IGNORE for the status variable or to not pass a status variable at all.  The results would be the same for both calls.
>
> -craig
>
>
> On Jun 20, 2011, at 11:42 AM, Bill Long wrote:
>
>> Hi Craig,
>>
>> The "status variable" is the IERROR argument that comes last in the
>> argument list, right?  If so, then it would seem easier to declare that
>> as optional.  If the interfaces are declared bind(c) in Fortran, then a
>> C version of the routine would know how to handle the optional argument.
>>   That would allow getting rid of the _nostatus versions.  Given the
>> number of MPI routines, cutting the list below by a factor of 2 seems
>> like a big win.
>>
>> Cheers,
>> Bill
>>
>>
>> On 6/20/11 12:15 PM, 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.
>>>
>>> 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.
>>>
>>> 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.
>>>
>>> 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.
>>>
>>> Please comment on this naming convention.
>>>
>>> -craig
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> _______________________________________________
>> 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