[Mpi-forum] Sparse / neighborhood topology ticket 258

Michael Raymond mraymond at sgi.com
Wed Feb 9 06:54:41 CST 2011


  I would vote for variant A as I think it's more consistent with the
rest of the MPI standard and I think it'd be easier for application
developers to use.

Rolf Rabenseifner wrote:
> Dear all,
> 
> please make a straw-vote-decision TODAY about the two variants
> in this email. I myself prefer variant A.
> 
> The current text does not include a precise definition of the
> sequence of the neighbors.
> I recommend to add such a definition before the Rationale in Sect. 7.6.
> 
> New text:
> The sequence of the neighbors is defined
>  - in a Cartesian topology by the order of the dimensions, 
>    and in each dimension, first the neighbor in the negative 
>    direction and then in the positive direction with displacement 1.
>    If such a neighbor does not exist, i.e., at the border 
>    in the case of a non-periodic virtual grid dimension 
>    (i.e., periods[...]==false), then
>    (VARIANT A)
>    this neighbor is MPI_PROC_NULL and it is still part of the
>    sequence of neighbors, but the corresponding buffer portion
>    is not communicated. The values of indegree and outdegree
>    in the communication routines are 2*ndims with ndims defined
>    defined in MPI_CART_CREATE.
>    (VARIANT B)
>    this neighbor is not part of the sequence of neighbors.
>    The values of indegree and outdegree
>    in the communication routines are 2*ndims (with ndims defined
>    defined in MPI_CART_CREATE), reduced by the number of
>    non-existing neighbors.
>    (END OF VARIANTS)
>    The sequence of incoming and outgoing neighbors is identical.
>  - in a general graph topology, the sequence of neighbors
>    in each process is defined through the list of neighbors 
>    for this process as defined in the arguments index and edges 
>    in MPI_GRAPH_CREATE, which is identical to the sequence 
>    returned by MPI_GRAPH_NEIGHBORS.
>    The values of indegree and outdegree in the communication
>    routines are identical to nneighbors returned by 
>    MPI_GRAPH_NEIGHBOR_COUNT in each process for its own rank.
>    The sequence of incoming and outgoing neighbors is identical.
>  - in a distributed graph topology, the sequence of neighbors
>    in each process is returned by MPI_DIST_GRAPH_NEIGHBORS.
>    The values of indegree and outdegree in the communication
>    routines are identical to the values returned by 
>    MPI_DIST_GRAPH_NEIGHBORS_COUNT.
>    If the distributed graph topology was created by
>    MPI_DIST_GRAPH_CREATE_ADJACENT, then the sequence 
>    of incoming and outgoing neighbors is 
>    identical to the sequence that was defined in 
>    MPI_DIST_GRAPH_CREATE_ADJACENT.
> 
> With this detailled definition, the following remark in parentheses
> in 7.6.1 and 7.6.2 can be removed:
>    (the order of neighbors is returned by the neighborhood 
>    query functions or for Cartesian communicators, it is in 
>    the order of the dimensions, in each dimension first the 
>    negative and then the positive direction)
> 
> Torsten, please return the decision, Variant A or B.
> 
> Best regards
> Rolf
>     
> 

-- 
Michael A. Raymond
Message Passing Toolkit Team
Silicon Graphics Inc
(651) 683-3434




More information about the mpi-forum mailing list