<html><head><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 agree with the analysis of the output but disagree with the conclusion - to make the behavior consistent with that of MPI_Cart_create, ndim == 0 should be permitted (with nnodes == 1) but there is, as noted, no output other than a return value / error value set of MPI_SUCCESS.  Otherwise the use of MPI_Dims_create with MPI_Cart_create in the general case looks like<div><br></div><div>if (ndim > 0) MPI_Dims_create(…)</div><div>MPI_Cart_create(…)</div><div><br></div><div>while the intent of the changes for MPI_Cart_create was to allow</div><div><br></div><div>MPI_Dims_create(…)</div><div>MPI_Cart_create(…)</div><div><br></div><div>even if ndim == 0.</div><div><br></div><div>Bill</div><div><br></div><div><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 9, 2016, at 9:17 AM, Rolf Rabenseifner <<a href="mailto:rabenseifner@hlrs.de">rabenseifner@hlrs.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">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><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 3:18:10 PM<br>Subject: Re: [Mpi-comments] MPI_Dims_create(..., ndims=0, ...) semantic ?<br></blockquote><br><blockquote type="cite">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">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> | <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><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>