<div dir="ltr"><span style="color:rgb(80,0,80);font-size:13px">>> (1) mpi.h does not provide a specific MPI Fortran datatype</span><br><div><span style="color:rgb(80,0,80);font-size:13px"><br></span></div><div><span style="font-size:13px">> I think JeffH and Jed want (1).</span><br style="font-size:13px"><br style="font-size:13px"><span style="font-size:13px">> I think I want (1), too.</span><br style="font-size:13px"></div><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">I'm good with (1) too.</span></div><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">-craig</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 18, 2016 at 1:31 PM, 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"><span class="">On Feb 18, 2016, at 3:55 PM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>> wrote:<br>
><br>
> I would prefer a solution where an application or middlware can check at<br>
> runtime whether the Fortran MPI datatypes exist, i.e., I like mpich's<br>
> solution. It is more simple than all methods that People must check prior<br>
> to compile and must remove or Change parts of there software.<br>
<br>
</span>The reason that JeffH and Jed hate this solution is because it makes it quite difficult for an application to know whether the MPI has Fortran support or not -- they basically have to compile an MPI application *and then run it* to see if the datatypes are actually MPI_DATATYPE_NULL.<br>
<br>
Doing this inside a GNU Autoconf/configure script is very, very difficult because of the huge differences in how you launch MPI applications across different HPC environments.<br>
<br>
Their (strong) preference is that you can have a simple compilation test in the GNU Autoconf/configure script that just tries to compile something like the following:<br>
<br>
-----<br>
#include <mpi.h><br>
MPI_Datatype foo = MPI_INTEGER;<br>
-----<br>
<br>
If that compiles, then your MPI has Fortran support.<br>
If it doesn't compile, your MPI doesn't have Fortran support.<br>
<span class=""><br>
> In the moment,in the case of a missing accompanying Fortran Compiler,<br>
> an application or middleware that wants to handle<br>
> MPI Fortran datatypes must handle both cases<br>
> (1) mpi.h does not provide a specific MPI Fortran datatype<br>
> (2) mpi.h provides this MPI Fortran datatype as MPI_DATATYPE_NULL<br>
><br>
> The additional case, that it is mapped to a real datatype is not<br>
> an exception, because it defines some sort of accompanying Fortran Compiler.<br>
><br>
> I would prefer that the MPI standard defines, which of the two<br>
> options should be implemented.<br>
<br>
</span>I think JeffH and Jed want (1).<br>
<br>
I think I want (1), too.<br>
<span class=""><br>
> As said at the beginning, I would prefer (1),<br>
> - as mpich is doing it in general, and<br>
> - OMPI is doing it partially,<br>
> whereas (2) was not done by mpich nor by OMPI.<br>
<br>
</span>I think you have (1) and (2) backwards in this paragraph.<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Jeff Squyres<br>
<a href="mailto:jsquyres@cisco.com">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-fortran mailing list<br>
<a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a><br>
<a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran" rel="noreferrer" target="_blank">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran</a><br>
</div></div></blockquote></div><br></div>