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

  
 
  

home | help
MPIX_Op_create_x(3)		       MPI		     MPIX_Op_create_x(3)

NAME
     MPIX_Op_create_x -  Creates a user-defined reduction op with an extra_state

SYNOPSIS
     int MPIX_Op_create_x(MPIX_User_function_x *user_fn_x,
     MPIX_Destructor_function *destructor_fn, int commute,
     void *extra_state, MPI_Op *op)

INPUT PARAMETERS
     user_fn_x
	    - user defined function with extra_state (function)
     destructor_fn
	    - callback when op is freed (function)
     commute
	    - true if commutative; false otherwise. (logical)
     extra_state
	    - extra state (None)

OUTPUT PARAMETERS
     op     - operation (handle)

NOTES ON MPIX_USER_FUNCTION_X
     The calling list for the user function type is
     typedef void (MPIX_User_function_x) (void * a, void * b,
     MPI_Count len, MPI_Datatype datatype,
     void *extra_state);

     There  are  a few differences from MPI_User_function used in MPI_Op_create.
     1. It passes len and datatype as scalar input, rather  than  as  addresses.
     2.  The  len  is  of MPI_Count, rather than int.  3. It accepts a void *ex-
     tra_state which is passed from users during MPIX_Op_create_x.

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_ARG
	    - Invalid argument.  Some argument is invalid and is not  identified
	    by a specific error class (e.g., MPI_ERR_RANK ).
     MPI_ERR_OTHER
	    -  Other  error;  use MPI_Error_string to get more information about
	    this error code.

				    4/10/2026		     MPIX_Op_create_x(3)

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

home | help