time Function

function time(kernel, comm, rc)

Arguments

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

Return Value real


Calls

proc~~time~2~~CallsGraph proc~time~2 time mpi_barrier mpi_barrier proc~time~2->mpi_barrier mpi_wtime mpi_wtime proc~time~2->mpi_wtime none~run~7 GathervKernel%run proc~time~2->none~run~7 proc~mapl_return MAPL_Return proc~time~2->proc~mapl_return proc~mapl_verify MAPL_Verify proc~time~2->proc~mapl_verify none~run~7->proc~mapl_return none~run~7->proc~mapl_verify mpi_gatherv mpi_gatherv none~run~7->mpi_gatherv 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

Source Code

   real function time(kernel, comm, rc)
      type(GathervKernel), intent(in) :: kernel
      integer, intent(in) :: comm
      integer, optional, intent(out) :: rc

      integer :: status
      real :: t0, t1

      call MPI_Barrier(comm, status)
      _VERIFY(status)
      t0 = MPI_Wtime()
      call kernel%run(_RC)
      call MPI_Barrier(comm, status)
      _VERIFY(status)
      t1 = MPI_Wtime()

      time = t1 - t0

      _RETURN(_SUCCESS)
   end function time