Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MPI_Win_lock_all(3)		       MPI		     MPI_Win_lock_all(3)

NAME
     MPI_Win_lock_all -  Begin an RMA access epoch at all processes on the given
     window

SYNOPSIS
     int MPI_Win_lock_all(int assert, MPI_Win win)

INPUT PARAMETERS
     assert
	    - program assertion (integer)
     win    - window object (handle)

NOTES
     This call is not collective.

     The  assert  argument  is used to indicate special conditions for the fence
     that an implementation may use to optimize the MPI_Win_lock_all  operation.
     The  value zero is always correct.  Other assertion values may be or'ed to-
     gether.  Assertions that are valid for MPI_Win_lock_all are:

     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 oper-
	    ations that may be attached to the lock and unlock calls  are  still
	    required.

	    There may be additional overheads associated with using MPI_Win_lock
	    and  MPI_Win_lock_all  concurrently  on the same window. These over-
	    heads could be avoided by specifying the assertion	MPI_MODE_NOCHECK
	    when possible

THREAD AND INTERRUPT SAFETY
     This  routine  is	thread-safe.  This means that this routine may be safely
     used by multiple threads without the  need  for  any  user-provided  thread
     locks.  However, the routine is not interrupt safe.  Typically, this is due
     to  the use of memory allocation routines such as malloc or other non-MPICH
     runtime routines that are themselves not interrupt-safe.

NOTES FOR FORTRAN
     All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK )	have  an
     additional argument ierr at the end of the argument list.	ierr is an inte-
     ger  and  has the same meaning as the return value of the routine in C.  In
     Fortran, MPI routines are subroutines, and are invoked with the call state-
     ment.

     All MPI objects (e.g., MPI_Datatype , MPI_Comm ) are  of  type  INTEGER  in
     Fortran.

ERRORS
     All MPI routines (except MPI_Wtime and MPI_Wtick ) return an error value; C
     routines  as the value of the function and Fortran routines in the last ar-
     gument.  Before the value is returned, the current  MPI  error  handler  is
     called.  By default, this error handler aborts the MPI job.  The error han-
     dler  may	be  changed  with  MPI_Comm_set_errhandler  (for communicators),
     MPI_File_set_errhandler (for files), and  MPI_Win_set_errhandler  (for  RMA
     windows).	 The MPI-1 routine MPI_Errhandler_set may be used but its use is
     deprecated.  The predefined error handler MPI_ERRORS_RETURN may be used  to
     cause  error  values to be returned.  Note that MPI does not guarantee that
     an MPI program can continue past an  error;  however,  MPI  implementations
     will attempt to continue whenever possible.

     MPI_SUCCESS
	    - No error; MPI routine completed successfully.
     MPI_ERR_WIN
	    - Invalid MPI window object
     MPI_ERR_OTHER
	    -  Other  error;  use MPI_Error_string to get more information about
	    this error code.

SEE ALSO
     MPI_Win_unlock_all

				    4/10/2026		     MPI_Win_lock_all(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=MPI_Win_lock_all&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help