<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Why are we discussing this in the P2P WG and not the Fortran WG?<div><br>Jeff</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Sat, Apr 23, 2016 at 5:30 AM, Jeff Squyres (jsquyres) <span dir="ltr"><<a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="https://github.com/mpiwg-p2p/p2p-issues/issues/1#issuecomment-213727928" rel="noreferrer" target="_blank">https://github.com/mpiwg-p2p/p2p-issues/issues/1#issuecomment-213727928</a> 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.<br>
<br>
Three things were decided:<br>
<br>
1. Yes, we should remove Fortran datatypes when no Fortran support is available.<br>
<br>
2. The datatypes should be removed altogether (e.g., MPI_INTEGER won't be defined in mpi.h at all).<br>
<br>
   --> 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.<br>
<br>
3. There should be an additional #define indicating that there are no<br>
Fortran datatypes available.<br>
<br>
   --> I propose have a macro named MPI_FORTRAN_BINDINGS_SUPPORTED.<br>
It will always be defined, but it will have a value of 1 if any of the<br>
3 flavors of MPI Fortran bindings are supported, and therefore the<br>
corresponding Fortran entities are declared in mpi.h (e.g.,<br>
MPI_INTEGER).  It will have a value of 0, otherwise.<br>
<br>
=========<br>
<br>
One additional question has come up, however: what about the MPI_*_(F2C|C2F) functions?  I see two options:<br>
<br>
1. They should not be declared (just like MPI_INTEGER)<br>
<br>
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.<br>
<br>
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.<br>
<br>
I think I'm in favor of not declaring the MPI_*_(F2C|C2F) functions.<br>
<br>
Thoughts?<br>
<span><font color="#888888"><br>
--<br>
Jeff Squyres<br>
<a href="mailto:jsquyres@cisco.com" target="_blank">jsquyres@cisco.com</a><br>
For corporate legal information go to: <a href="http://www.cisco.com/web/about/doing_business/legal/cri/" rel="noreferrer" target="_blank">http://www.cisco.com/web/about/doing_business/legal/cri/</a><br>
<br>
_______________________________________________<br>
mpiwg-p2p mailing list<br>
<a href="mailto:mpiwg-p2p@mpi-forum.org" target="_blank">mpiwg-p2p@mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-p2p" rel="noreferrer" target="_blank">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-p2p</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div>Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Jeff Hammond<br><a href="mailto:jeff.science@gmail.com" target="_blank">jeff.science@gmail.com</a><br><a href="http://jeffhammond.github.io/" target="_blank">http://jeffhammond.github.io/</a></div>
</div></div>