[Mpi-forum] Sparse / neighborhood topology ticket 258

Rolf Rabenseifner rabenseifner at hlrs.de
Wed Feb 9 06:10:32 CST 2011


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
    

-- 
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: Allmandring 30)



More information about the mpi-forum mailing list