I do not actually need this functionality, but can you show example of robust code, which will work for mpi_scan in all cases?<div>And can you clarify, why the order of output is not preserved, as in openmpi version?<br><div>
<br><div class="gmail_quote">On Wed, Dec 19, 2012 at 1:52 AM, Dave Goodell <span dir="ltr"><<a href="mailto:goodell@mcs.anl.gov" target="_blank">goodell@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This scan operator is known to be buggy, unfortunately.  It will not do the correct thing for many (entirely valid) scan implementation patterns.  It's something that ought to be fixed in the next version of the MPI standard (it fell through the cracks in the MPI-3 process).<br>

<br>
Do you actually need this functionality?  If so, I can describe how to implement it in a way that will be robust.  Alternatively, most segmented scan algorithms assume an "edge triggered" segmented scan, rather than a "level" triggered one like what is described in the MPI standard.<br>

<br>
-Dave<br>
<br>
On Dec 18, 2012, at 2:06 PM CST, n n wrote:<br>
<br>
> Ok.<br>
> Here is detailed explanation.<br>
> There is example 5.22 on page 182 in mpi22-report.pdf, which can be found here <a href="http://www.mpi-forum.org/docs/docs.html" target="_blank">http://www.mpi-forum.org/docs/docs.html</a><br>
><br>
> Here is test code <a href="http://pastebin.com/ZhYfhDVK" target="_blank">http://pastebin.com/ZhYfhDVK</a> (same code here <a href="http://www.everfall.com/paste/id.php?0b7mgk2zh0xg" target="_blank">http://www.everfall.com/paste/id.php?0b7mgk2zh0xg</a>, just in case)<br>

><br>
> If i run this code using openmpi in archlinux, i get the following result (as expected, in accordance with info from mpi22-report.pdf).<br>
><br>
> mpicc code.c -o openmpi_version (mpicc from openmpi package, mpich is not installed in archlinux)<br>
> mpirun -n 8 ./openmpi_version<br>
> 0       0 1.000000<br>
> 1       0 2.000000<br>
> 2       1 1.000000<br>
> 3       1 2.000000<br>
> 4       1 3.000000<br>
> 5       0 1.000000<br>
> 6       0 2.000000<br>
> 7       1 1.000000  <===== 1, as expected<br>
><br>
> But if i run this code using mpich2 in ubuntu 10.04, (mpich package version 1.2.1.1), i get unexpected result. It was also tested in mpich2-1.4.1p1 and mpich2-1.5 in Windows 7 and Ubuntu 10.04.2 respectively.<br>
> mpicc code.c -o mpich_version (mpicc from mpich2 package, openmpi is not installed in ubuntu)<br>
> mpirun -n 8 ./mpich_version<br>
> 0       0 1.000000<br>
> 1       0 2.000000<br>
> 2       1 1.000000<br>
> 5       0 1.000000<br>
> 3       1 2.000000<br>
> 4       1 3.000000<br>
> 6       0 2.000000<br>
> 7       1 3.000000 <===== expected to be 1<br>
><br>
><br>
> Also, in openmpi version output is sorted, in accordance with code in lines 60-73 (see pastebin), but in mpich2 this does not work as expected too.<br>
><br>
> On Tue, Dec 18, 2012 at 11:25 PM, Dave Goodell <<a href="mailto:goodell@mcs.anl.gov">goodell@mcs.anl.gov</a>> wrote:<br>
> On Dec 18, 2012, at 4:47 AM CST, n n wrote:<br>
><br>
> > I think, i've found a bug in function mpi_scan<br>
><br>
> Would you care to share any details of the bug on the mailing list?  Forgive my caution, but you have a somewhat spammy looking email address and email name and wrote a rather terse email...<br>
><br>
> -Dave<br>
><br>
> _______________________________________________<br>
> discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
> To manage subscription options or unsubscribe:<br>
> <a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
><br>
> _______________________________________________<br>
> discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
> To manage subscription options or unsubscribe:<br>
> <a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
<br>
_______________________________________________<br>
discuss mailing list     <a href="mailto:discuss@mpich.org">discuss@mpich.org</a><br>
To manage subscription options or unsubscribe:<br>
<a href="https://lists.mpich.org/mailman/listinfo/discuss" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
</blockquote></div><br></div></div>