Is there any way to issue simultaneous MPI_Accumulate() requests to different targets, then? I need to update a distributed array, and this serializes all of the communication.
Ben On Thu, May 4, 2017 at 5:53 AM, Marc-André Hermanns < m.a.herma...@fz-juelich.de> wrote: > Dear Benjamin, > > as far as I understand the MPI standard, RMA operations non-blocking > in the sense that you need to complete them with a separate call > (flush/unlock/...). > > I cannot find the place in the standard right now, but I think an > implementation is allowed to either buffer RMA requests or block until > the RMA operation can be initiated, and the user should not assume > either. I have seen the one and the other behavior across > implementations in the past. > > For your second question, yes, flush is supposed to block until remote > completion of the operation. > > That said, I think to recall that Open-MPI 1.x did not support > asynchronous target-side progress for passive-target synchronization > (which is used in your benchmark example), so the behavior you > observed is to some extent expected. > > Cheers, > Marc-Andre > > > > On 04.05.2017 01:25, Benjamin Brock wrote: > > 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 > > > > -- > Marc-Andre Hermanns > Jülich Aachen Research Alliance, > High Performance Computing (JARA-HPC) > Jülich Supercomputing Centre (JSC) > > Wilhelm-Johnen-Str. > 52425 Jülich > Germany > > Phone: +49 2461 61 2509 | +49 241 80 24381 > Fax: +49 2461 80 6 99753 > www.jara.org/jara-hpc > email: m.a.herma...@fz-juelich.de > > > _______________________________________________ > users mailing list > users@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/users >
_______________________________________________ users mailing list users@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/users