[mpich-discuss] MPI_WIN_LOCK and MPI_MODE_NOCHECK assert

Jim Dinan dinan at mcs.anl.gov
Thu Feb 21 09:20:18 CST 2013


Hi Jaric,

In current and previous releases of MPICH, MPI_MODE_NOCHECK was only 
used to optimize active target communication.  As part of the MPI-3 
work, we've also added a MPI_MODE_NOCHECK optimization to passive target 
communication.  This feature should hopefully make it out to our git 
repo this week and be included in the in the next release.

MPI_MODE_NOCHECK essentially asserts that the epoch can begin 
immediately at the target.  If you are using exclusive locks, this means 
that the lock is uncontended.  If you are using shared locks, this means 
that the lock is uncontended, or that all other processes are also using 
shared lock.

In terms of the implementation for passive target, MODE_NOCHECK allows 
us to piggyback the lock request on the first RMA operation, since the 
user has asserted that the lock request will succeed immediately.

Best,
  ~Jim.

On 2/20/13 9:11 PM, Jaroslaw Zola wrote:
> I have a question regarding implementation of the MPI_MODE_NOCHECK assertion
> for MPI_WIN_LOCK. Is current mpich implementation taking advantage of this
> hint? Also, according to the standard:
>
> MPI_MODE_NOCHECK - no other process holds, or will attempt to acquire,
> a conflicting lock, while the caller holds the window lock. This is useful when
> mutual exclusion is achieved by other means, but the coherence operations that
> may be attached to the lock and unlock calls are still required.
>
> Are two concurrent locks from two different MPI processes followed by MPI_GET
> (i.e. given window is not modified but read only) considered conflicting?
>
> Thanks!
>
> - Jaric
>
>
>
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss
>



More information about the discuss mailing list