[Mpi-forum] Question on Cartesian Topologies

Tobias Hilbrich tobias.hilbrich at zih.tu-dresden.de
Mon Mar 7 03:10:14 CST 2011

Hi all,

LANL, LLNL and the University of Dresden are working on a follow up tool of the runtime correctness checking tools Marmot and Umpire, which is done in cooperation by developers of both tools. 

We have some issues with basic correctness checks for integers. Were for most of the handles used in MPI calls there are fairly clear rules on what is allowed and what not, there are sometimes close to no rules for integer arguments. Most of the time common sense helps to come up with a reasonable assumption, but for the definition of cartesian communicators we are somewhat stuck, maybe you can help. (Maybe we missed some lines in the standard or are not aware of some base rule)

What is unclear to us is "what is a correct definition for a cartesian topology?", we found no clear definition for that. So basically we care about the "ndims" and "dims" values in calls like MPI_Cart_create. Is it allowed to specify a value of 0 for one of the entries in the "dims" array? The standard specifies no restrictions in the text following MPI_Cart_create, I am referring to MPI-2.2 here. E.g. is the following correct or not:

int dims[3]
dims[0] = 1;
dims[1] = 1;
dims[2] = 0; /*Is this ok/suspicious/erroneous ?*/
MPI_Cart_create( ... , 3 /*ndims*/, dims , ...);

Our little testing revealed that it causes OpenMPI, LAM-MPI, MPICH-1 to crash, whereas MPICH-2 returns MPI_COMM_NULL here.

many thanks, Tobias

P.S.: This is probably not the last os such questions, if this is a bad way to ask these we would be glad to get suggestions on how to raise them. A tool that validates whether an MPI application behaves according to the standard or not, hopefully provides some motivates to think about these troublesome questions ;)

Dipl.-Inf. Tobias Hilbrich
Wissenschaftlicher Mitarbeiter

Technische Universitaet Dresden
Zentrum fuer Informationsdienste und Hochleistungsrechnen (ZIH)
(Center for Information Services and High Performance Computing (ZIH))
Interdisziplinäre Anwenderunterstützung und Koordination
(Interdisciplinary Application Development and Coordination)
01062 Dresden
Tel.: +49 (351) 463-32041
Fax: +49 (351) 463-37773
E-Mail: tobias.hilbrich at zih.tu-dresden.de

More information about the mpi-forum mailing list