<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">There's no (small) errata.  The Forum decided that MPI would no longer support Fortran 77 (and this was pretty clear from the discussions).  In MPI-2, MPI_SIZEOF was part of the extended support; the basic support did not include it and thus mpif.h could be implemented with Fortran 77 (see page 291, 10.2.4 in MPI-2.0).  This is no longer true; see 17.1.4 (mpif.h) which says the second set of function prototypes must be supported for all MPI functions, and page 621, where MPI_SIZEOF has a second set of function prototypes.  There are other references to overloading in mpif.h; see, for example, page 339, which would require an MPI implementation to provide different mpif.h files depending on which level of Fortran support is provided by the compiler (which might depend on a compiler switch!). <div><br></div><div>Bill</div><div><br><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">William Gropp</div><div style="font-size: 12px; ">Director, Parallel Computing Institute</div></div></div></span><span class="Apple-style-span" style="font-size: 12px; ">Thomas M. Siebel Chair in Computer Science</span><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div style="font-size: 12px; ">University of Illinois Urbana-Champaign</div></div><div><br></div></div></span><br class="Apple-interchange-newline"></div></span><br class="Apple-interchange-newline"></span><br class="Apple-interchange-newline">
</div>
<br><div><div>On Jun 6, 2014, at 6:27 PM, Jeff Squyres (jsquyres) wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Do we need to add some errata text about mpif.h and MPI-sizeof, particularly wrt older fortran compilers?<br><br>Sent from my phone. No type good. <br><br><blockquote type="cite">On Jun 6, 2014, at 9:32 AM, "William Gropp" <<a href="mailto:wgropp@illinois.edu">wgropp@illinois.edu</a>> wrote:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Yes, despite the new claims in MPI-3, the mpif.h file for MPICH has been required to be backward compatible with Fortran 77, since there are still Fortran 77 codes.  MPI-3 essentially mandated that Fortran 77 compilers be unable to compile standard conforming MPI codes, and the MPI implementations that choose to permit existing codes to be compiled decided to violate the standard in this place.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Note that storage_size appeared in Fortran 2008, not earlier versions of Fortran 9x, which is why we added MPI_SIZEOF.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Having said that, yes, I think that deprecating but not yet removing MPI_SIZEOF makes sense.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Bill<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">William Gropp<br></blockquote><blockquote type="cite">Director, Parallel Computing Institute<br></blockquote><blockquote type="cite">Thomas M. Siebel Chair in Computer Science<br></blockquote><blockquote type="cite">University of Illinois Urbana-Champaign<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><blockquote type="cite">On Jun 6, 2014, at 9:11 AM, Jeff Squyres (jsquyres) wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">It strikes me that the current MPI_SIZEOF text does not limit this function to the mpi or mpi_f08 modules, meaning that it needs to be supported/available in mpif.h as well.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Since SIZEOF can only be implemented via overloaded procedures, this means that implementations have to put an INTERFACE block with the overloaded procedures for MPI_SIZEOF in mpif.h.  Yowza!  This goes against a long-standing tradition of not including procedure prototypes in mpif.h.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">If I'm interpreting this properly, it looks like neither Open MPI nor MPICH do this correctly.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Am I correct in this deduction?<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Random side note: this makes me wonder how much MPI_SIZEOF is really used...<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">-- <br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Jeff Squyres<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:jsquyres@cisco.com">jsquyres@cisco.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">For corporate legal information go to: <a href="http://www.cisco.com/web/about/doing_business/legal/cri/">http://www.cisco.com/web/about/doing_business/legal/cri/</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_______________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">mpiwg-fortran mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran</a><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">mpiwg-fortran mailing list<br></blockquote><blockquote type="cite"><a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a><br></blockquote><blockquote type="cite"><a href="http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran">http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran</a><br></blockquote>_______________________________________________<br>mpiwg-fortran mailing list<br><a href="mailto:mpiwg-fortran@lists.mpi-forum.org">mpiwg-fortran@lists.mpi-forum.org</a><br>http://lists.mpi-forum.org/mailman/listinfo.cgi/mpiwg-fortran<br></div></blockquote></div><br></div></body></html>