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

  
 
  

home | help
MPI_Win_create_keyval(3)	       MPI		MPI_Win_create_keyval(3)

NAME
     MPI_Win_create_keyval -  Create an attribute keyval for MPI window objects

SYNOPSIS
     int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
     MPI_Win_delete_attr_function *win_delete_attr_fn,
     int *win_keyval, void *extra_state)

INPUT PARAMETERS
     win_copy_attr_fn
	    - copy callback function for win_keyval (function)
     win_delete_attr_fn
	    - delete callback function for win_keyval (function)
     extra_state
	    - extra state for callback function (None)

OUTPUT PARAMETERS
     win_keyval
	    - key value for future access (integer)

NOTES
     Key values are global (available for any and all communicators).

     Default copy and delete functions are available.  These are
     MPI_WIN_NULL_COPY_FN
	    - empty copy function
     MPI_WIN_NULL_DELETE_FN
	    - empty delete function
     MPI_WIN_DUP_FN
	    - simple dup function

	    There are subtle differences between C and Fortran that require that
	    the  copy_fn be written in the same language from which MPI_Win_cre-
	    ate_keyval is called.  This should not be a problem for most  users;
	    only  programmers  using both Fortran and C in the same program need
	    to be sure that they follow this rule.

RETURN VALUE FROM ATTRIBUTE CALLBACKS
     The MPI-2 versions of the attribute callbacks should return either MPI_SUC-
     CESS on success or a valid MPI error code or class  on  failure.	The  MPI
     standard  is  ambiguous  on  this point, but as MPI-2 provides the routines
     MPI_Add_error_class and MPI_Add_error_code that allow the	user  to  define
     and use MPI error codes and classes.

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		MPI_Win_create_keyval(3)

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

home | help