[mpich-discuss] mpi_scatter

Jen B jenbna at gmail.com
Thu Dec 3 15:07:33 CST 2015


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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mpich.org/pipermail/discuss/attachments/20151203/6c64d1a6/attachment.html>
-------------- next part --------------
_______________________________________________
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