Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Jeff Squyres (jsquyres_at_[hidden])
Date: 2006-03-06 16:18:53

On Mar 6, 2006, at 3:38 PM, Xiaoning (David) Yang wrote:

> I'm not quite sure how collective computation calls work. For
> example, for an MPI_REDUCE with MPI_SUM, do all the processes
> collect values from all the processes and calculate the sum and put
> result in recvbuf on root? Sounds strange.

The implementation of how MPI_REDUCE works is not specified by the
standard. Only the semantics are specified (when MPI_REDUCE with
MPI_SUM returns, the root's recvbuf has the sum of all the data from
the non-root processes). As such, an MPI implementation is free to
implement it however it wishes.

There has been a considerable amount of research on how to optimize
collective algorithm implementations in MPI over the past ~5 years
(and outside of MPI for 20+ years before that).

{+} Jeff Squyres
{+} The Open MPI Project