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

  
 
  

home | help
MPI_Compare_and_swap(3) 	       MPI		 MPI_Compare_and_swap(3)

NAME
     MPI_Compare_and_swap -  Perform one-sided atomic compare-and-swap.

SYNOPSIS
     int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
     void *result_addr, MPI_Datatype datatype,
     int target_rank, MPI_Aint target_disp, MPI_Win win)

INPUT PARAMETERS
     origin_addr
	    - initial address of buffer (choice)
     compare_addr
	    - initial address of compare buffer (choice)
     datatype
	    - datatype of the element in all buffers (handle)
     target_rank
	    - rank of target (non-negative integer)
     target_disp
	    -  displacement  from  start of window to beginning of target buffer
	    (non-negative integer)
     win    - window object (handle)

OUTPUT PARAMETERS
     result_addr
	    - initial address of result buffer (choice)

NOTES
     This operation is atomic with respect to other "accumulate" operations.

     The parameter datatype must belong to one of the  following  categories  of
     predefined  datatypes:  C integer, Fortran integer, Logical, Multi-language
     types, or Byte as specified in Section 5.9.2 on page 176.	The  origin  and
     result buffers (origin_addr and result_addr) must be disjoint.

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_ARG
	    - Invalid argument.  Some argument is invalid and is not  identified
	    by a specific error class (e.g., MPI_ERR_RANK ).
     MPI_ERR_DISP
	    -
     MPI_ERR_RANK
	    -  Invalid	source	or destination rank.  Ranks must be between zero
	    and the size of the communicator minus one; ranks  in  a  receive  (
	    MPI_Recv   ,   MPI_Irecv   ,   MPI_Sendrecv  ,  etc.)  may	also  be
	    MPI_ANY_SOURCE .

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

				    4/10/2026		 MPI_Compare_and_swap(3)

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

home | help