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~3~~CallsGraph proc~time~3 time mpi_barrier mpi_barrier proc~time~3->mpi_barrier none~run~23 BW_Benchmark%run proc~time~3->none~run~23 proc~mapl_return MAPL_Return proc~time~3->proc~mapl_return proc~mapl_verify MAPL_Verify proc~time~3->proc~mapl_verify none~run~23->proc~mapl_return none~run~23->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