make_GathervKernel Function

public function make_GathervKernel(spec, comm, rc) result(kernel)

Arguments

Type IntentOptional Attributes Name
type(GathervSpec), intent(in) :: spec
integer, intent(in) :: comm
integer, intent(out), optional :: rc

Return Value type(GathervKernel)


Calls

proc~~make_gathervkernel~2~~CallsGraph proc~make_gathervkernel~2 make_GathervKernel mpi_comm_size mpi_comm_size proc~make_gathervkernel~2->mpi_comm_size none~init~4 GathervKernel%init proc~make_gathervkernel~2->none~init~4 proc~mapl_return MAPL_Return proc~make_gathervkernel~2->proc~mapl_return proc~mapl_verify MAPL_Verify proc~make_gathervkernel~2->proc~mapl_verify none~init~4->mpi_comm_size none~init~4->proc~mapl_return none~init~4->proc~mapl_verify interface~mapl_assert MAPL_Assert none~init~4->interface~mapl_assert mpi_comm_rank mpi_comm_rank none~init~4->mpi_comm_rank at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Called by

proc~~make_gathervkernel~2~~CalledByGraph proc~make_gathervkernel~2 make_GathervKernel proc~run~14 run proc~run~14->proc~make_gathervkernel~2 program~main~14 main program~main~14->proc~run~14

Source Code

   function make_GathervKernel(spec, comm, rc) result(kernel)
      type(GathervKernel) :: kernel
      type(GathervSpec), intent(in) :: spec
      integer, intent(in) :: comm
      integer, optional, intent(out) :: rc

      integer :: status
      integer :: npes
      integer :: n

      call MPI_Comm_size(MPI_COMM_WORLD, npes, status)
      _VERIFY(status)
      n = int(spec%nx,kind=INT64)**2 * 6 * spec%n_levs / npes

      kernel = GathervKernel(n, comm)
      call kernel%init(_RC)

      _RETURN(_SUCCESS)
   end function make_GathervKernel