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