[mpich-discuss] mpi_scatter
Thakur, Rajeev
thakur at mcs.anl.gov
Thu Dec 3 15:29:19 CST 2015
Scatter uses a binomial tree algorithm. Scatterv uses a linear algorithm.
The paper is old. See the comments in the bcast.c file for what is currently used.
> On Dec 3, 2015, at 3:07 PM, Jen B <jenbna at gmail.com> wrote:
>
> Thanks all. So it uses linear algorithm with send/recv.
>
> 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?
>
> Best,
> Jen
>
>
> On Thu, Dec 3, 2015 at 2:50 PM, Thakur, Rajeev <thakur at mcs.anl.gov> wrote:
> See the comments in the scatter.c file.
>
> Rajeev
>
> > On Dec 3, 2015, at 2:47 PM, Jen B <jenbna at gmail.com> wrote:
> >
> > 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.
> >
> > Best,
> > Jen
> >
> > On Thu, Dec 3, 2015 at 2:25 PM, Jeff Hammond <jeff.science at gmail.com> wrote:
> > I don't know exactly what information you want, but you will find a lot of useful comments in the source files here: http://git.mpich.org/mpich.git/tree/HEAD:/src/mpi/coll. 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.
> >
> > Best,
> >
> > Jeff
> >
> > On Thu, Dec 3, 2015 at 8:24 AM, Jen B <jenbna at gmail.com> wrote:
> > Hello,
> >
> > 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!
> >
> > Best,
> > Jen
> >
> >
> >
> >
> >
> > _______________________________________________
> > discuss mailing list discuss at mpich.org
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
> >
> >
> >
> > --
> > Jeff Hammond
> > jeff.science at gmail.com
> > http://jeffhammond.github.io/
> >
> > _______________________________________________
> > discuss mailing list discuss at mpich.org
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
> >
> > _______________________________________________
> > discuss mailing list discuss at mpich.org
> > To manage subscription options or unsubscribe:
> > https://lists.mpich.org/mailman/listinfo/discuss
>
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>
> _______________________________________________
> discuss mailing list discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss
More information about the discuss
mailing list