[mpi3-coll] Neighborhood collectives round 2: reductions

Torsten Hoefler htor at illinois.edu
Tue Dec 11 02:43:43 CST 2012


On Sun, Dec 09, 2012 at 04:55:51PM -0800, Jed Brown wrote:
>    Understood. May I ask what is the application motivating this routine?
For the neighbor_reduce, the use-case follows from your earlier emails
(you asked explicitly for this on the collectives mailinglist in
CAM9tzSmY38bq3gmYqwB5TS5jOv8uwTU9e526tANHDTYgX4XOBg at mail.gmail.com). The
neighbor_reducev is a simple generalization and gets closer to what you
were asking for. I think it's non-trivial to provide identity elements
in the interface while it's not too hard to just put the data into the
function (and hopefully not too much overhead). 

If you now think there is no use-case for any of those (or both)
functions then we should discontinue the discussion of them (I have
absolutely no problem with this :-).

Best,
  Torsten

> 
>    On Dec 9, 2012 1:14 PM, "Torsten Hoefler" <[1]htor at illinois.edu> wrote:
> 
>      On Sat, Dec 08, 2012 at 12:49:35PM -0800, Jed Brown wrote:
>      >    On Sat, Dec 8, 2012 at 11:12 AM, Torsten Hoefler
>      <[1][2]htor at illinois.edu>
>      >    wrote:
>      >
>      >      Hi all,
>      >
>      >      We discussed the neighborhood reductions at the last Forum and
>      the straw
>      >      vote if we should include them in the next revision was:
>      >
>      >       - yes: 18
>      >       - no: 0
>      >       - abstain: 3
>      >
>      >      I addressed all the issues in the draft that were brought up
>      at the
>      >      Forum. The new draft is now at
>      [2][3]http://www.unixer.de/sec/topol.pdf .
>      >      Look
>      >      for ticket "XXX".
>      >
>      >    The other interfaces for MPI_Ineighbor_reduce do not contain the
>      "I" (page
>      >    40, line 25 and 30); MPI_Ineighbor_reducev 
>      >     does not have the "v" (page 41, line 26 and 31).
>      Thanks! Those are fixed. [4]http://www.unixer.de/sec/topol.pdf
> 
>      >      One open question remains: would a single send buffer for
>      >      neighbor_reduce suffice or do we need one buffer per
>      destination
>      >      process? The second case could always be done with
>      neighbor_reducev
>      >      (with small additional costs). This questions is more to the
>      potential
>      >      users (Jed etc.).
>      >
>      >    My understanding of Neighbor_reducev is that I send different
>      sizes to
>      >    each neighbor, but receive the same size from every neighbor
>      (reducing
>      >    into exactly one buffer).
>      That is correct.
> 
>      >    That isn't really a useful operation in domain
>      >    decomposed methods. The useful operation is that I reduce
>      different sized
>      >    received buffers into different (but sometimes overlapping) parts
>      of my
>      >    local buffer.
>      Well, the issue is that MPI reduction operations cannot be applied to
>      vectors of different length because this would require the definition of
>      an identity element. While this is easy for the predefined ops (e.g.,
>      "MIN_INT" for int max and "0" for sum, etc.), this would require much
>      more changes for user-defined operations (another call to specify
>      these). The current interface proposal would require you to fill in
>      those elements where needed. Or am I misunderstanding or missing
>      something?
> 
>      >    The single send buffer (with different datatype arguments)
>      imposes no
>      >    restriction and is natural.
>      Thanks!
> 
>      Best,
>        Torsten
> 
>      --
>      ### qreharg rug ebs fv crryF ------------- [5]http://www.unixer.de/
>      -----
>      Torsten Hoefler           | Assistant Professor
>      Dept. of Computer Science | ETH Zürich
>      Universitätsstrasse 6     | Zurich-8092, Switzerland
>      CAB E 64.1                | Phone: [6]+41 76 309 79 29
> 
> References
> 
>    Visible links
>    1. mailto:htor at illinois.edu
>    2. mailto:htor at illinois.edu
>    3. http://www.unixer.de/sec/topol.pdf
>    4. http://www.unixer.de/sec/topol.pdf
>    5. http://www.unixer.de/
>    6. file:///home/htor/tmp/mutt/tel:%2B41%2076%20309%2079%2029

-- 
### qreharg rug ebs fv crryF ------------- http://www.unixer.de/ -----
Torsten Hoefler           | Assistant Professor
Dept. of Computer Science | ETH Zürich
Universitätsstrasse 6     | Zurich-8092, Switzerland
CAB E 64.1                | Phone: +41 76 309 79 29



More information about the mpiwg-coll mailing list