The MPI-3 Standard states that MPI_Win_lock(...)
with lock type MPI_LOCK_SHARED
must be a blocking (exclusive) lock if and only if the origin and target process are the same. MPI_Win_lock_all
is the locking of all processes in the window with lock type MPI_LOCK_SHARED
.
Does this imply that MPI_Win_lock_all
creates also an exclusive lock from the origin to the origin itself?
No. MPI_Win_lock_all
induces a shared lock at all processes associated with the window (technically, in the group associated with the window).
In any case, a shared lock and an exclusive lock are different. Please do not conflate the possibility that shared lock acquisition will block on some remote state with an exclusive lock.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With