<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252">
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">I’ll add something, but I disagree that this is a change - the standard is implicitly quite clear - ndim can be an integer, and 0 is an integer.  <div><br></div><div>Bill</div><div><br><div>
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">William Gropp<br>Acting Director and Chief Scientist, NCSA</div><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Director, Parallel Computing Institute<br>Thomas M. Siebel Chair in Computer Science<br>University of Illinois Urbana-Champaign<br><br><br><br><br></div>
</div>
<br><div><div>On Nov 10, 2016, at 2:52 AM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Yes I agree: Bill's solution is better, but it requires that the <br>MPI libraries may Need to be fixed, because then, ndimm==0 && nnodes==1<br>is no error.<br>Currently, it is undefined, i.e., a MPI library may handle it<br>as an erronous input and may call the error handler. <br>I.e., this solution would require a change log entry that<br>all MPI library developers check there code.<br><br>Proposal: I would add after the Example 7.1 on MPI-3.1 page 293 line 42<br><br>  If ndims is zero, then nnodes must be one, and the argument<br>  dims will be ignored, i.e., there will be no output.<br><br>Changelog in "Changes in MPI-4.0":<br><br>  Section 7.5.2 on page 792.<br>  MPI_DIMS_CREATE was extended to additionally allow a zero-dimensional <br>  Cartesian topology, i.e., input ndims==0 together with nnodes==1.<br><br>Bill, please can you provide the ticket/issue/... with probably <br>better wording ...<br><br>Rolf<br><br>----- Original Message -----<br><blockquote type="cite">From: "wgropp" <<a href="mailto:wgropp@illinois.edu">wgropp@illinois.edu</a>><br>To: "Comments on the MPI Standard" <<a href="mailto:mpi-comments@lists.mpi-forum.org">mpi-comments@lists.mpi-forum.org</a>><br>Sent: Wednesday, November 9, 2016 7:04:44 PM<br>Subject: Re: [Mpi-comments] MPI_Dims_create(..., ndims=0, ...) semantic ?<br></blockquote><br><blockquote type="cite">I agree with the analysis of the output but disagree with the conclusion - to<br>make the behavior consistent with that of MPI_Cart_create, ndim == 0 should be<br>permitted (with nnodes == 1) but there is, as noted, no output other than a<br>return value / error value set of MPI_SUCCESS. Otherwise the use of<br>MPI_Dims_create with MPI_Cart_create in the general case looks like<br><br>if (ndim > 0) MPI_Dims_create(…)<br>MPI_Cart_create(…)<br><br>while the intent of the changes for MPI_Cart_create was to allow<br><br>MPI_Dims_create(…)<br>MPI_Cart_create(…)<br><br>even if ndim == 0.<br><br>Bill<br><br>William Gropp<br>Acting Director and Chief Scientist, NCSA<br>Director, Parallel Computing Institute<br>Thomas M. Siebel Chair in Computer Science<br>University of Illinois Urbana-Champaign<br><br><br><br><br><br>On Nov 9, 2016, at 9:17 AM, Rolf Rabenseifner < [ <a href="mailto:rabenseifner@hlrs.de">mailto:rabenseifner@hlrs.de</a> |<br><a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a> ] > wrote:<br><br><br><br>We added all that the MPI_CART_... routines work fine with ndims==0.<br><br>We oversaw that MPI_DIMS_CREATE is also a candidate for ndims==0.<br><br>Reading the standard, I would say that MPI_DIMS_CREATE<br>- with ndims==0 can never have any output, because<br>the ndims Array has no element,<br>- with ndims==0 and nnodes != 1 is erronous<br>because a zero-dim-cart-topology has alwas exactly one node<br>(and erronous implies always undefined behavior,<br>i.e., the MPI library may catch or ignore this error),<br>- with ndims==0 and nnodes == 1 would be okay but would not<br>produce any output (because ndims has no entries),<br>- but compared to the other CART routines where ndims==0<br>behaviour is always explicitely specified, I would conclude<br>that MPI_DIMS_CREATE with ndims==0 has always undefined<br>behavior, i.e., that also ndims==0 and nnodes == 1 may be<br>treated by the MPI library as erronous.<br><br>Therefore, I would recommend to clarify the standard by<br>defining ndims of MPI_DIMS_CREATE as "positive integer"<br>instead of only "integer".<br><br>Rolf<br><br>----- Original Message -----<br><br><br>From: "wgropp" < [ <a href="mailto:wgropp@illinois.edu">mailto:wgropp@illinois.edu</a> | <a href="mailto:wgropp@illinois.edu">wgropp@illinois.edu</a> ] ><br>To: "Comments on the MPI Standard" < [ <a href="mailto:mpi-comments@lists.mpi-forum.org">mailto:mpi-comments@lists.mpi-forum.org</a> |<br><a href="mailto:mpi-comments@lists.mpi-forum.org">mpi-comments@lists.mpi-forum.org</a> ] ><br>Sent: Wednesday, November 9, 2016 3:18:10 PM<br>Subject: Re: [Mpi-comments] MPI_Dims_create(..., ndims=0, ...) semantic ?<br><br><br><br>The standard doesn’t specify this, though I recall us discussing this and IIRC<br>agreeing that ndims equal to zero was well-defined and not an error. And there<br>is nothing in the standard that suggests that it should be an error, just<br>nothing that says it shouldn’t.<br><br>Bill<br><br>William Gropp<br>Acting Director and Chief Scientist, NCSA<br>Director, Parallel Computing Institute<br>Thomas M. Siebel Chair in Computer Science<br>University of Illinois Urbana-Champaign<br><br><br><br><br><br>On Nov 8, 2016, at 11:40 PM, Gilles Gouaillardet < [ [ <a href="mailto:gilles@rist.or.jp">mailto:gilles@rist.or.jp</a><br>| <a href="mailto:gilles@rist.or.jp">mailto:gilles@rist.or.jp</a> ] |<br>[ <a href="mailto:gilles@rist.or.jp">mailto:gilles@rist.or.jp</a> | <a href="mailto:gilles@rist.or.jp">gilles@rist.or.jp</a> ] ] > wrote:<br><br><br><br>Folks,<br><br><br>Does the standard specifiy the behavior of MPI_Dims_create() when the ndims<br>argument is zero ?<br><br><br>the standard only says negative input values of dims[i] are erroneous, but does<br>not say anything about ndims.<br><br>ndims is the number of Cartesian dimensions (integer), and though a negative<br>number likely looks erroneous<br><br>to most of us, a zero value is incorrect from a mathematical point of view (and<br>i wish i remembered that ...)<br><br><br>Could someone tell me how a zero value should be interpreted ?<br><br>(e.g. valid/invalid/up to the implementor ?)<br><br><br>FWIW, currently<br><br>in MPICH, this is a no-op.<br><br>In Open MPI, this is an error by default, but if parameter check is manually<br>disabled, then this is a no-op too.<br><br><br>Cheers,<br><br><br>Gilles<br><br>_______________________________________________<br>mpi-comments mailing list<br>[ [ <a href="mailto:mpi-comments@lists.mpi-forum.org">mailto:mpi-comments@lists.mpi-forum.org</a> |<br><a href="mailto:mpi-comments@lists.mpi-forum.org">mailto:mpi-comments@lists.mpi-forum.org</a> ] | [<br><a href="mailto:mpi-comments@lists.mpi-forum.org">mailto:mpi-comments@lists.mpi-forum.org</a> | <a href="mailto:mpi-comments@lists.mpi-forum.org">mpi-comments@lists.mpi-forum.org</a> ] ]<br>[ <a href="https://lists.mpi-forum.org/mailman/listinfo/mpi-comments">https://lists.mpi-forum.org/mailman/listinfo/mpi-comments</a> |<br><a href="https://lists.mpi-forum.org/mailman/listinfo/mpi-comments">https://lists.mpi-forum.org/mailman/listinfo/mpi-comments</a> ]<br><br><br>_______________________________________________<br>mpi-comments mailing list<br><a href="mailto:mpi-comments@lists.mpi-forum.org">mpi-comments@lists.mpi-forum.org</a><br>https://lists.mpi-forum.org/mailman/listinfo/mpi-comments<br><br>--<br>Dr. Rolf Rabenseifner . . . . . . . . . .. email [ mailto:rabenseifner@hlrs.de |<br>rabenseifner@hlrs.de ]<br>High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530<br>University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832<br>Head of Dpmt Parallel Computing . . . [ http://www.hlrs.de/people/rabenseifner |<br>www.hlrs.de/people/rabenseifner ]<br>Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)<br>_______________________________________________<br>mpi-comments mailing list<br>[ mailto:mpi-comments@lists.mpi-forum.org | mpi-comments@lists.mpi-forum.org ]<br>https://lists.mpi-forum.org/mailman/listinfo/mpi-comments<br><br><br>_______________________________________________<br>mpi-comments mailing list<br>mpi-comments@lists.mpi-forum.org<br>https://lists.mpi-forum.org/mailman/listinfo/mpi-comments<br></blockquote><br>-- <br>Dr. Rolf Rabenseifner . . . . . . . . . .. email <a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a><br>High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530<br>University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832<br>Head of Dpmt Parallel Computing . . . <a href="http://www.hlrs.de/people/rabenseifner">www.hlrs.de/people/rabenseifner</a><br>Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)<br>_______________________________________________<br>mpi-comments mailing list<br><a href="mailto:mpi-comments@lists.mpi-forum.org">mpi-comments@lists.mpi-forum.org</a><br>https://lists.mpi-forum.org/mailman/listinfo/mpi-comments</blockquote></div><br></div></body></html>