MPI_Accumulate() is meant to be non-blocking, and MPI will block until
completion when an MPI_Win_flush() is called, correct?

In this (https://hastebin.com/raw/iwakacadey) microbenchmark,
MPI_Accumulate() seems to be blocking for me in OpenMPI 1.10.6.

I'm seeing timings like

[brock@nid00622 junk]$ mpirun -n 4 ./junk
Write: 0.499229 rq, 0.000018 fl; Read: 0.463764 rq, 0.000035 fl
Write: 0.464914 rq, 0.000012 fl; Read: 0.419703 rq, 0.000024 fl
Write: 0.499686 rq, 0.000014 fl; Read: 0.422557 rq, 0.000023 fl
Write: 0.437960 rq, 0.000015 fl; Read: 0.396530 rq, 0.000023 fl

Meaning up to half a second is being spent issuing requests, but almost no
time is spent in flushes.  The time spent in requests scales with the size
of the messages, but the time spent in flushes stays the same.

I'm compiling this with mpicxx acc.cpp -o acc -std=gnu++11 -O3.

Any suggestions?  Am I using this incorrectly?

Ben
_______________________________________________
users mailing list
users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/users

Reply via email to