[mpich2-dev] MPI_Dims_create specification question

Robert Latham robl at mcs.anl.gov
Fri Jun 20 10:56:30 CDT 2008


On Fri, Jun 20, 2008 at 10:36:20AM -0500, Joe Ratterman wrote:
> The system that we are building has a Cartesian network layout, so we want
> to optimize the results of the MPI_Dims_create() function to most closely
> reflect the physical layout of the nodes on the network.  Recently, we had a
> bug report from a customer who noted that when running on 8 nodes (an
> example), MPI_Dims_create(3, [0, 0, 0]) doesn't always return [2,2,2].  They
> consider this an error and quote the spec.
> 
> Looking at the spec (latest 2.1 version :
> http://www.hlrs.de/organization/par/services/models/mpi/mpi21/doc/mpi-report-2.1draft-2008-06-13.pdf
> username and password "mpi21") on page 247, the customer appears to be
> correct.  There is no indication that we are allowed to attempt to make the
> results reflect the HW.  Beyond the "must" requirements, there is this one
> more: "The dimensions are set to be as close to each other as possible,
> using an appropriate divisibility algorithm."  Why is there no mention of
> the physical HW?

I think you're misplacing your optimization?  Once you've got your
dimensions, you pass them to MPI_Cart_create to optimize for
underlying hardware, right?

cart_create: http://www.mpi-forum.org/docs/mpi-11-html/node133.html#Node133
dims_create: http://www.mpi-forum.org/docs/mpi-11-html/node134.html#Node134

==rob

-- 
Rob Latham
Mathematics and Computer Science Division    A215 0178 EA2D B059 8CDF
Argonne National Lab, IL USA                 B29D F333 664A 4280 315B




More information about the mpich2-dev mailing list