end_timer Subroutine

public subroutine end_timer(pf, timer)

Subroutine to stop a timer

Arguments

Type IntentOptional AttributesName
type(pf_pfasst_t), intent(inout) :: pf
integer, intent(in) :: timer

Called by

proc~~end_timer~~CalledByGraph proc~end_timer end_timer proc~sweep_coupled_implicit_terms sweep_coupled_implicit_terms proc~sweep_coupled_implicit_terms->proc~end_timer proc~pf_pfasst_block_oc pf_pfasst_block_oc proc~pf_pfasst_block_oc->proc~end_timer proc~call_hooks call_hooks proc~pf_pfasst_block_oc->proc~call_hooks proc~pf_predictor_oc pf_predictor_oc proc~pf_pfasst_block_oc->proc~pf_predictor_oc proc~pf_check_convergence_oc pf_check_convergence_oc proc~pf_pfasst_block_oc->proc~pf_check_convergence_oc proc~pf_v_cycle_oc pf_v_cycle_oc proc~pf_pfasst_block_oc->proc~pf_v_cycle_oc proc~imex_sweep imex_sweep proc~imex_sweep->proc~end_timer proc~restrict_time_space_fas restrict_time_space_fas proc~restrict_time_space_fas->proc~end_timer proc~restrict_time_space_fas->proc~call_hooks proc~interpolate_qend interpolate_qend proc~interpolate_qend->proc~end_timer proc~interpolate_qend->proc~call_hooks proc~verlet_sweep verlet_sweep proc~verlet_sweep->proc~end_timer proc~pf_residual pf_residual proc~verlet_sweep->proc~pf_residual proc~verlet_sweep->proc~call_hooks proc~pf_residual->proc~end_timer proc~amisdc_sweep amisdc_sweep proc~amisdc_sweep->proc~end_timer proc~interpolate_time_space interpolate_time_space proc~interpolate_time_space->proc~end_timer proc~interpolate_time_space->proc~call_hooks proc~imk_actually_sweep imk_actually_sweep proc~imk_actually_sweep->proc~end_timer proc~imk_actually_sweep->proc~pf_residual proc~interpolate_q0 interpolate_q0 proc~interpolate_q0->proc~end_timer proc~interpolate_q0->proc~call_hooks proc~pf_predictor pf_predictor proc~pf_predictor->proc~end_timer proc~pf_predictor->proc~restrict_time_space_fas proc~pf_predictor->proc~pf_residual proc~pf_predictor->proc~interpolate_time_space proc~pf_predictor->proc~interpolate_q0 proc~pf_predictor->proc~call_hooks proc~magpicard_sweep magpicard_sweep proc~magpicard_sweep->proc~end_timer proc~magpicard_sweep->proc~pf_residual proc~magpicard_sweep->proc~call_hooks proc~call_hooks->proc~end_timer proc~pf_block_run pf_block_run proc~pf_block_run->proc~end_timer proc~pf_block_run->proc~pf_predictor proc~pf_block_run->proc~call_hooks proc~pf_check_convergence_block pf_check_convergence_block proc~pf_block_run->proc~pf_check_convergence_block proc~pf_v_cycle pf_v_cycle proc~pf_block_run->proc~pf_v_cycle proc~pf_predictor_oc->proc~end_timer proc~pf_predictor_oc->proc~restrict_time_space_fas proc~pf_predictor_oc->proc~pf_residual proc~pf_predictor_oc->proc~interpolate_time_space proc~pf_predictor_oc->proc~call_hooks proc~imexq_oc_sweep imexQ_oc_sweep proc~imexq_oc_sweep->proc~end_timer proc~imexq_oc_sweep->proc~pf_residual proc~imexq_oc_sweep->proc~call_hooks proc~misdc_sweep misdc_sweep proc~misdc_sweep->proc~end_timer proc~misdcq_sweep misdcQ_sweep proc~misdcq_sweep->proc~end_timer proc~misdcq_sweep->proc~pf_residual proc~misdcq_sweep->proc~call_hooks proc~imexq_sweep imexQ_sweep proc~imexq_sweep->proc~end_timer proc~imexq_sweep->proc~pf_residual proc~imexq_sweep->proc~call_hooks proc~pf_check_convergence_block->proc~call_hooks proc~pf_v_cycle->proc~restrict_time_space_fas proc~pf_v_cycle->proc~pf_residual proc~pf_v_cycle->proc~interpolate_time_space proc~pf_v_cycle->proc~interpolate_q0 proc~mkrk_step mkrk_step proc~mkrk_step->proc~pf_residual proc~mkrk_step->proc~call_hooks proc~pf_check_convergence_oc->proc~call_hooks proc~pf_v_cycle_oc->proc~restrict_time_space_fas proc~pf_v_cycle_oc->proc~pf_residual proc~pf_v_cycle_oc->proc~interpolate_time_space proc~amisdcq_sweep amisdcQ_sweep proc~amisdcq_sweep->proc~sweep_coupled_implicit_terms proc~rk_step rk_step proc~rk_step->proc~pf_residual proc~rk_step->proc~call_hooks proc~imk_sweep imk_sweep proc~imk_sweep->proc~imk_actually_sweep proc~imk_sweep->proc~mkrk_step proc~imk_sweep->proc~rk_step proc~pf_pfasst_run pf_pfasst_run proc~pf_pfasst_run->proc~pf_block_run proc~misdcq_oc_sweep misdcQ_oc_sweep proc~misdcq_oc_sweep->proc~pf_residual proc~misdcq_oc_sweep->proc~call_hooks

Contents

Source Code


Source Code

  subroutine end_timer(pf, timer)
    type(pf_pfasst_t), intent(inout) :: pf
    integer,           intent(in)    :: timer

    integer :: t, rate

    call system_clock(t, rate)
    pf%runtimes(timer) = pf%runtimes(timer) + t - pf%timers(timer)

    if (pf%echo_timings) then
       write(601+pf%rank, '("timer:",a16,", rank: ",i3,", step: ",i4, ", level: ", i3,' &
            // '", iter: ",i3,", cycle: ",i3,", time (rate ",i12,"Hz): ",i18,i18,i18,i18)') &
            timer_names(timer), pf%rank, &
            pf%state%step, pf%state%level, pf%state%iter, pf%state%cycle, rate, &
            t-pf%timers(timer), t-pf%timers(TTOTAL), pf%timers(timer), t
       call flush(601+pf%rank)
    end if

  end subroutine end_timer