<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="ltr">Thanks, Rajeev. Last question, by old do you mean MPICH2?<div><br></div><div>Best,</div><div>Jen</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 3, 2015 at 3:29 PM, Thakur, Rajeev <span dir="ltr"><<a href="mailto:thakur@mcs.anl.gov" target="_blank">thakur@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">Scatter uses a binomial tree algorithm. Scatterv uses a linear algorithm.<br>
<br>
The paper is old. See the comments in the bcast.c file for what is currently used.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
> On Dec 3, 2015, at 3:07 PM, Jen B <<a href="mailto:jenbna@gmail.com">jenbna@gmail.com</a>> wrote:<br>
><br>
> Thanks all. So it uses linear algorithm with send/recv.<br>
><br>
> For my second question, i.e., mpi_bcast for long messages the paper says scatter+allgather. In the case when the message size is not evenly divisible by number of processes, I guess it must be using scatter+allgatherv?<br>
><br>
> Best,<br>
> Jen<br>
><br>
><br>
> On Thu, Dec 3, 2015 at 2:50 PM, Thakur, Rajeev <<a href="mailto:thakur@mcs.anl.gov">thakur@mcs.anl.gov</a>> wrote:<br>
> See the comments in the scatter.c file.<br>
><br>
> Rajeev<br>
><br>
> > On Dec 3, 2015, at 2:47 PM, Jen B <<a href="mailto:jenbna@gmail.com">jenbna@gmail.com</a>> wrote:<br>
> ><br>
> > Here is the sample of information that I need. For example, in that paper for long messages (>=512KB) and any number of processes "allgather" uses the ring algorithm. Can anyone give me similar answer (algorithm used in MPICH2) for mpi_scatter (when we have long messages, and for both power of two and non power of two number of processes)? Thanks.<br>
> ><br>
> > Best,<br>
> > Jen<br>
> ><br>
> > On Thu, Dec 3, 2015 at 2:25 PM, Jeff Hammond <<a href="mailto:jeff.science@gmail.com">jeff.science@gmail.com</a>> wrote:<br>
> > I don't know exactly what information you want, but you will find a lot of useful comments in the source files here: <a href="http://git.mpich.org/mpich.git/tree/HEAD:/src/mpi/coll" rel="noreferrer" target="_blank">http://git.mpich.org/mpich.git/tree/HEAD:/src/mpi/coll</a>. In particular, if you run 'grep -i "we use" *.c', you will see statements about Rabenseifer's algorithm, Bruck's algorithm, recursive doubling, pairwise exchange, etc.<br>
> ><br>
> > Best,<br>
> ><br>
> > Jeff<br>
> ><br>
> > On Thu, Dec 3, 2015 at 8:24 AM, Jen B <<a href="mailto:jenbna@gmail.com">jenbna@gmail.com</a>> wrote:<br>
> > Hello,<br>
> ><br>
> > I am trying to understand how the mpi_scatter is implemented according to MPICH2 for long messages. I went through the paper of R. Thakur, et al., titled "Optimization of Collective Communication Operations in MPICH." It is stated there that for long messages mpi_bcast is composed of scatter and allgather (where latter two are based on the Van de Geijn's algorithm). However I wasn't able to find the mpi_scatter details. Could you please explain this? Also, the another thing is that I think for long messages (that are not divisible exactly by the number of processes) this part would use a scatterv + allgatherv. Am I right? Thank you!<br>
> ><br>
> > Best,<br>
> > Jen<br>
> ><br>
> ><br>
> ><br>
> ><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" rel="noreferrer" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
> ><br>
> ><br>
> ><br>
> > --<br>
> > Jeff Hammond<br>
> > <a href="mailto:jeff.science@gmail.com">jeff.science@gmail.com</a><br>
> > <a href="http://jeffhammond.github.io/" rel="noreferrer" target="_blank">http://jeffhammond.github.io/</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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" 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" rel="noreferrer" target="_blank">https://lists.mpich.org/mailman/listinfo/discuss</a><br>
</div></div></blockquote></div><br></div>