Provided by: mpich-doc_3.0.4-6ubuntu1_all bug

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 window object that can be used by these processes to perform
       RMA  operations  on  attached  memory. Because this window has special properties, it will
       sometimes be referred to as a dynamic window.  The info argument 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 target_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 dynamic windows, the target_disp argument to RMA communication
       operations is not restricted to non-negative values. Users should use  MPI_Get_address  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  variables  of  type
       MPI_Aint and result in unexpected values on some platforms. 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 accesses 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
       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  guarentee 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_COMM
              -  Invalid  communicator.   A  common error is to use a null communicator 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

LOCATION

       src/mpi/rma/win_create_dynamic.c

                                            4/24/2013                   MPI_Win_create_dynamic(3)