[Mpi3-rma] MPI_Fetch_and_op and MPI_Get_accumulate

Jeff Hammond jhammond at alcf.anl.gov
Wed Nov 28 09:43:58 CST 2012

It was suggested to me that the reason those functions exist is
because they have fewer arguments and do not require as many branches
as MPI_Get_accumulate, which matters to a few people who want to dump
bazillions of 8-byte atomic puts into the network.


On Wed, Nov 28, 2012 at 10:41 AM, Hubert Ritzdorf
<Hubert.Ritzdorf at emea.nec.com> wrote:
> Hi,
> I have a question:
> Is the following combination of accumulate operations allowed and is this
> the "same operation" ?
> Process A and Process B perform a MPI_SUM operation on the same address in
> the same
> window with same predefined datatype but using different RMA function calls:
> Process A:
> MPI_Get_accumulate (..., target_rank, 0, 1, MPI_LONG_LONG_INT, MPI_SUM, win)
> Process B:
> MPI_Fetch_and_op(..., MPI_LONG_LONG_INT,  target_rank, 0, MPI_SUM, win)
> If the answer is yes, I can't see the advantage of MPI_Fetch_and_op
> ("might support special hardware operations which use is limited by the
> generic
> functionality of MPI_Get_accumulate")
> since these special hardware operations have to be used by all accumulate
> functions
> in the same way (also for very large counts and derived datatypes).
> Many thanks in advance
> Hubert
> _______________________________________________
> mpi3-rma mailing list
> mpi3-rma at lists.mpi-forum.org
> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-rma

Jeff Hammond
Argonne Leadership Computing Facility
University of Chicago Computation Institute
jhammond at alcf.anl.gov / (630) 252-5381

More information about the mpiwg-rma mailing list