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

FreeBSD Manual Pages

  
 
  

home | help
MPI_Win_allocate(3)		      MPI		   MPI_Win_allocate(3)

NAME
       MPI_Win_allocate	 -   Create and	allocate an MPI	Window object for one-
       sided communication.

SYNOPSIS
       int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
			 MPI_Comm comm,	void *baseptr, MPI_Win *win)

       This is a collective call executed by all processes  in	the  group  of
       comm.  On each process, it allocates memory of at least size bytes, re-
       turns a pointer to it, and returns a window object that can be used  by
       all  processes  in  comm	to perform RMA operations. The returned	memory
       consists	of size	bytes local  to	 each  process,	 starting  at  address
       baseptr	and  is	 associated  with  the	window	as  if the user	called
       MPI_Win_create on existing memory. The size argument may	 be  different
       at  each	 process and size = 0 is valid;	however, a library might allo-
       cate and	expose more memory in order to create a	fast, globally symmet-
       ric allocation.

INPUT PARAMETERS
       size   -	size of	window in bytes	(nonnegative integer)
       disp_unit
	      -	local unit size	for displacements, in bytes (positive integer)
       info   -	info argument (handle)
       comm   -	communicator (handle)

OUTPUT PARAMETERS
       baseptr
	      -	base address of	the window in local memory
       win    -	window object returned by the call (handle)

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_allocate_shared	    MPI_Win_create	MPI_Win_create_dynamic
       MPI_Win_free

				   11/9/2015		   MPI_Win_allocate(3)

NAME | SYNOPSIS | INPUT PARAMETERS | OUTPUT PARAMETERS | 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_allocate&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help