[Mpi-comments] MPI_Dims_create(..., ndims=0, ...) semantic ?

Rolf Rabenseifner rabenseifner at hlrs.de
Wed Nov 9 09:17:14 CST 2016


We added all that the MPI_CART_... routines work fine with ndims==0.

We oversaw that MPI_DIMS_CREATE is also a candidate for ndims==0.

Reading the standard, I would say that MPI_DIMS_CREATE 
 - with ndims==0 can never have any output, because
    the ndims Array has no element,
 - with ndims==0 and nnodes != 1 is erronous
    because a zero-dim-cart-topology has alwas exactly one node
    (and erronous implies always undefined behavior, 
     i.e., the MPI library may catch or ignore this error),
 - with ndims==0 and nnodes == 1 would be okay but would not
    produce any output (because ndims has no entries),
 - but compared to the other CART routines where ndims==0
    behaviour is always explicitely specified, I would conclude
    that MPI_DIMS_CREATE with ndims==0 has always undefined
    behavior, i.e., that also ndims==0 and nnodes == 1 may be
    treated by the MPI library as erronous. 

Therefore, I would recommend to clarify the standard by
defining ndims of MPI_DIMS_CREATE as "positive integer" 
instead of only "integer". 

Rolf

----- Original Message -----
> From: "wgropp" <wgropp at illinois.edu>
> To: "Comments on the MPI Standard" <mpi-comments at lists.mpi-forum.org>
> Sent: Wednesday, November 9, 2016 3:18:10 PM
> Subject: Re: [Mpi-comments] MPI_Dims_create(..., ndims=0, ...) semantic ?

> The standard doesn’t specify this, though I recall us discussing this and IIRC
> agreeing that ndims equal to zero was well-defined and not an error. And there
> is nothing in the standard that suggests that it should be an error, just
> nothing that says it shouldn’t.
> 
> Bill
> 
> William Gropp
> Acting Director and Chief Scientist, NCSA
> Director, Parallel Computing Institute
> Thomas M. Siebel Chair in Computer Science
> University of Illinois Urbana-Champaign
> 
> 
> 
> 
> 
> On Nov 8, 2016, at 11:40 PM, Gilles Gouaillardet < [ mailto:gilles at rist.or.jp |
> gilles at rist.or.jp ] > wrote:
> 
> 
> 
> Folks,
> 
> 
> Does the standard specifiy the behavior of MPI_Dims_create() when the ndims
> argument is zero ?
> 
> 
> the standard only says negative input values of dims[i] are erroneous, but does
> not say anything about ndims.
> 
> ndims is the number of Cartesian dimensions (integer), and though a negative
> number likely looks erroneous
> 
> to most of us, a zero value is incorrect from a mathematical point of view (and
> i wish i remembered that ...)
> 
> 
> Could someone tell me how a zero value should be interpreted ?
> 
> (e.g. valid/invalid/up to the implementor ?)
> 
> 
> FWIW, currently
> 
> in MPICH, this is a no-op.
> 
> In Open MPI, this is an error by default, but if parameter check is manually
> disabled, then this is a no-op too.
> 
> 
> Cheers,
> 
> 
> Gilles
> 
> _______________________________________________
> mpi-comments mailing list
> [ mailto:mpi-comments at lists.mpi-forum.org | mpi-comments at lists.mpi-forum.org ]
> https://lists.mpi-forum.org/mailman/listinfo/mpi-comments
> 
> 
> _______________________________________________
> mpi-comments mailing list
> mpi-comments at lists.mpi-forum.org
> https://lists.mpi-forum.org/mailman/listinfo/mpi-comments

-- 
Dr. Rolf Rabenseifner . . . . . . . . . .. email rabenseifner at hlrs.de
High Performance Computing Center (HLRS) . phone ++49(0)711/685-65530
University of Stuttgart . . . . . . . . .. fax ++49(0)711 / 685-65832
Head of Dpmt Parallel Computing . . . www.hlrs.de/people/rabenseifner
Nobelstr. 19, D-70550 Stuttgart, Germany . . . . (Office: Room 1.307)
_______________________________________________
mpi-comments mailing list
mpi-comments at lists.mpi-forum.org
https://lists.mpi-forum.org/mailman/listinfo/mpi-comments


More information about the mpi-comments mailing list