time Function

function time(benchmark, comm, rc)

Arguments

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

Return Value real


Calls

proc~~time~~CallsGraph proc~time time mpi_barrier mpi_barrier proc~time->mpi_barrier none~run~4 BW_Benchmark%run proc~time->none~run~4 proc~mapl_return MAPL_Return proc~time->proc~mapl_return proc~mapl_verify MAPL_Verify proc~time->proc~mapl_verify none~run~4->proc~mapl_return none~run~4->proc~mapl_verify 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(benchmark, comm, rc)
      type(BW_Benchmark), intent(in) :: benchmark
      integer, intent(in) :: comm
      integer, optional, intent(out) :: rc

      integer :: status
      integer :: rank
      integer(kind=INT64) :: c0, c1, count_rate

      call MPI_Barrier(comm, status)
      _VERIFY(status)

      call system_clock(c0)
      call benchmark%run(_RC)
      call MPI_Barrier(comm, status)
      _VERIFY(status)
      call system_clock(c1, count_rate=count_rate)

      time = real(c1-c0)/count_rate

      _RETURN(_SUCCESS)
   end function time