[mpich-discuss] MPI_WIN_FENCE versus MPI_WIN_{LOCK|UNLOCK}
Timothy Stitt
Timothy.Stitt.9 at nd.edu
Fri Jun 1 09:37:41 CDT 2012
Hi all,
Following a recent discussion on MPI_WIN_CREATE I was hoping some MPICH2 folks could shed some further light on how MPI_WIN_FENCE and MPI_{LOCK|UNLOCK} are implemented. Which of the two attempts below is better from a performance point-of-view when executed regularly within my code:
* Attempt 1 *
loop 1..n
call MPI_LOCK(...)
call MPI_PUT(...)
call MPI_UNLOCK(...)
end loop
or
* Attempt 2 *
loop 1..n
call MPI_PUT(...)
end loop
call MPI_WIN_FENCE(...)
I also have a third attempt that uses active target RMA using MPI_WIN_{START|COMPLETE} and MPI_WIN_{POST|WAIT}. Is there any benefit to using one approach over the other, in general?
Thanks in advance for your advice,
Tim.
More information about the mpich-discuss
mailing list