[mpich-discuss] Why do predefined MPI_Ops function elementwise in MPI_Accumulate, but not in MPI-1 routines?

Jed Brown jedbrown at mcs.anl.gov
Mon Apr 23 21:02:05 CDT 2012


On Mon, Apr 23, 2012 at 20:54, Jeff Hammond <jhammond at alcf.anl.gov> wrote:

> If you implement your user-defined reduction using MPI_Accumulate
> locally, does that not solve the problem?  In this case, whatever you
> can do for MPI_Accumulate is valid for MPI_Reduce, right?
>
> my_reduction(..)
> {
> MPI_Win_create(MPI_COMM_SELF,..);
> MPI_Accumulate(rank=me,..);
> MPI_Win_free(MPI_COMM_SELF,..);
> }
>

"No MPI communication function may be called inside the user function."

I think that means that these are not allowed, even when performed on
MPI_COMM_SELF.

Note that it's not the "hard" implementation that I'm complaining about,
it's the need to translate between two different MPI_Ops that do exactly
the same thing, but one that cannot be used with collectives and one that
cannot be used with one-sided.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20120423/d932ff02/attachment.htm>


More information about the mpich-discuss mailing list