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