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

FreeBSD Manual Pages

  
 
  

home | help
MPI_Win_create_dynamic(3)	      MPI	     MPI_Win_create_dynamic(3)

NAME
       MPI_Win_create_dynamic  -   Create  an  MPI Window object for one-sided
       communication.  This window allows memory to be dynamically exposed and
       un-exposed for RMA operations.

SYNOPSIS
       int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm,	MPI_Win	*win)

       This  is	 a  collective	call executed by all processes in the group of
       comm. It	returns	a window win without memory attached. Existing process
       memory  can be attached as described below. This	routine	returns	a win-
       dow object that can be used by these processes to  perform  RMA	opera-
       tions  on  attached memory. Because this	window has special properties,
       it will sometimes be referred to	as a dynamic window.  The  info	 argu-
       ment  can  be  used  to	specify	hints similar to the info argument for
       MPI_Win_create .

       In the case of a	window created with MPI_Win_create_dynamic , the  tar-
       get_disp	 for all RMA functions is the address at the target; i.e., the
       effective window_base is	MPI_BOTTOM and the disp_unit is	one.  For  dy-
       namic windows, the target_disp argument to RMA communication operations
       is not restricted to non-negative values. Users should use  MPI_Get_ad-
       dress at	the target process to determine	the address of a target	memory
       location	and communicate	this address to	the origin process.

INPUT PARAMETERS
       info   -	info argument (handle)
       comm   -	communicator (handle)

OUTPUT PARAMETERS
       win    -	window object returned by the call (handle)

NOTES
       Users are cautioned that	displacement arithmetic	can overflow in	 vari-
       ables  of  type	MPI_Aint and result in unexpected values on some plat-
       forms. This issue may be	addressed in a future version of MPI.

       Memory in this window may not be	used as	the target  of	one-sided  ac-
       cesses  in  this	 window	 until	it  is	attached  using	 the  function
       MPI_Win_attach .	 That is, in addition to using	MPI_Win_create_dynamic
       to  create  an  MPI window, the user must use MPI_Win_attach before any
       local memory may	be the target of an MPI	 RMA  operation.  Only	memory
       that is currently accessible may	be attached.

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 integer 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	statement.

       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	argument.  Before the value is returned, the current MPI error
       handler is called.  By default, this error handler aborts the MPI  job.
       The error handler may be	changed	with MPI_Comm_set_errhandler (for com-
       municators), MPI_File_set_errhandler (for files),  and  MPI_Win_set_er-
       rhandler	 (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 guarentee	that an	MPI program can	continue  past
       an  error;  however, MPI	implementations	will attempt to	continue when-
       ever possible.

       MPI_SUCCESS
	      -	No error; MPI routine completed	successfully.
       MPI_ERR_ARG
	      -	Invalid	argument.  Some	argument is invalid and	is not identi-
	      fied by a	specific error class (e.g., MPI_ERR_RANK ).
       MPI_ERR_COMM
	      -	 Invalid communicator.	A common error is to use a null	commu-
	      nicator in a call	(not even allowed in MPI_Comm_rank ).
       MPI_ERR_INFO
	      -	Invalid	Info
       MPI_ERR_OTHER
	      -	Other error; use  MPI_Error_string  to	get  more  information
	      about this error code.
       MPI_ERR_SIZE
	      -

SEE ALSO
       MPI_Win_attach  MPI_Win_detach MPI_Win_allocate MPI_Win_allocate_shared
       MPI_Win_create MPI_Win_free

				   11/9/2015	     MPI_Win_create_dynamic(3)

NAME | SYNOPSIS | INPUT PARAMETERS | OUTPUT PARAMETERS | NOTES | THREAD AND INTERRUPT SAFETY | NOTES FOR FORTRAN | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MPI_Win_create_dynamic&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help