create_win_dp_array Function

private function create_win_dp_array(comm, base, win_size) result(win)

Arguments

Type IntentOptional Attributes Name
type(comm_t), intent(in) :: comm
real(kind=dp), target, asynchronous :: base(:)
integer(kind=MPI_ADDRESS_KIND), intent(in) :: win_size

Return Value type(win_t)


Calls

proc~~create_win_dp_array~2~~CallsGraph proc~create_win_dp_array~2 create_win_dp_array mpi_win_create mpi_win_create proc~create_win_dp_array~2->mpi_win_create proc~comm_get~2 comm_t%comm_get proc~create_win_dp_array~2->proc~comm_get~2

Called by

proc~~create_win_dp_array~2~~CalledByGraph proc~create_win_dp_array~2 create_win_dp_array interface~win_create~2 win_create interface~win_create~2->proc~create_win_dp_array~2

Variables

Type Visibility Attributes Name Initial
integer, private :: disp_unit
integer, private :: ierr

Source Code

   function create_win_dp_array(comm, base, win_size) result(win)
      type(comm_t), intent(in) :: comm
      real(dp), target, asynchronous :: base(:)
      integer(MPI_ADDRESS_KIND), intent(in) :: win_size
      type(win_t) :: win
      integer :: ierr
      integer :: disp_unit

      disp_unit = int(storage_size(base(1))/8_int32)
      call MPI_Win_create(base, win_size, disp_unit, &
                          MPI_INFO_NULL, comm%get(), win%m_win, ierr)
      win%is_valid = .true.
   end function create_win_dp_array