[mpiwg-p2p] Removing Fortran datatypes from mpi.h when there is no Fortran support

Jeff Hammond jeff.science at gmail.com
Sat Apr 23 11:58:55 CDT 2016


>
> Why are we discussing this in the P2P WG and not the Fortran WG?
>
> Jeff
>
> On Sat, Apr 23, 2016 at 5:30 AM, Jeff Squyres (jsquyres) <
> jsquyres at cisco.com> wrote:
>
>> https://github.com/mpiwg-p2p/p2p-issues/issues/1#issuecomment-213727928
>> captures the straw votes from the March 2016 Forum meeting where we
>> discussed removing Fortran datatypes from mpi.h when there is no Fortran
>> support.
>>
>> Three things were decided:
>>
>> 1. Yes, we should remove Fortran datatypes when no Fortran support is
>> available.
>>
>> 2. The datatypes should be removed altogether (e.g., MPI_INTEGER won't be
>> defined in mpi.h at all).
>>
>>    --> After the meeting, it was pointed out that we also need to remove
>> MPI_F[08]_STATUS[ES]_IGNORE from mpi.h, too.  Good point.
>>
>> 3. There should be an additional #define indicating that there are no
>> Fortran datatypes available.
>>
>>    --> I propose have a macro named MPI_FORTRAN_BINDINGS_SUPPORTED.
>> It will always be defined, but it will have a value of 1 if any of the
>> 3 flavors of MPI Fortran bindings are supported, and therefore the
>> corresponding Fortran entities are declared in mpi.h (e.g.,
>> MPI_INTEGER).  It will have a value of 0, otherwise.
>>
>> =========
>>
>> One additional question has come up, however: what about the
>> MPI_*_(F2C|C2F) functions?  I see two options:
>>
>> 1. They should not be declared (just like MPI_INTEGER)
>>
>> 2. They should be defined to return specific values. E.g., if you are
>> running with an implementation that has no Fortran support, calling
>> MPI_Comm_f2c(0) would return MPI_DATATYPE_NULL.  Similarly, calling
>> MPI_Comm_c2f(MPI_COMM_WORLD) would return an invalid handle.
>>
>> It's not quite clear why an MPI application would be calling C2F or F2C
>> functions if there's no Fortran support, but one way or another, we have to
>> handle this case.
>>
>> I think I'm in favor of not declaring the MPI_*_(F2C|C2F) functions.
>>
>> Thoughts?
>>
>> --
>> Jeff Squyres
>> jsquyres at cisco.com
>> For corporate legal information go to:
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>
>> _______________________________________________
>> mpiwg-p2p mailing list
>> mpiwg-p2p at mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-p2p
>>
>
>
>
> --
> Jeff Hammond
> jeff.science at gmail.com
> http://jeffhammond.github.io/
>



-- 
Jeff Hammond
jeff.science at gmail.com
http://jeffhammond.github.io/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpi-forum.org/pipermail/mpiwg-p2p/attachments/20160423/a673f5da/attachment-0001.html>


More information about the mpiwg-p2p mailing list