io_print_timings Subroutine

public subroutine io_print_timings(timers, stdout)

Uses

  • proc~~io_print_timings~~UsesGraph proc~io_print_timings io_print_timings module~w90_types w90_types proc~io_print_timings->module~w90_types module~w90_constants w90_constants module~w90_types->module~w90_constants

Output timing information to stdout

Arguments

Type IntentOptional Attributes Name
type(timer_list_type), intent(in) :: timers
integer, intent(in) :: stdout

Called by

proc~~io_print_timings~~CalledByGraph proc~io_print_timings io_print_timings proc~print_times print_times proc~print_times->proc~io_print_timings proc~w90_print_timings w90_print_timings proc~w90_print_timings->proc~io_print_timings program~postw90 postw90 program~postw90->proc~io_print_timings program~wannier wannier program~wannier->proc~print_times

Source Code

  subroutine io_print_timings(timers, stdout)
    !================================================
    !
    !! Output timing information to stdout
    !
    !================================================
    use w90_types, only: timer_list_type

    implicit none

    type(timer_list_type), intent(in) :: timers
    integer, intent(in) :: stdout
    integer :: i

    if (timers%overflow) then
      write (stdout, '(1x,a)') 'Warning: Timer array overflowed, some timing data has been lost'
    end if
    write (stdout, '(/1x,a)') '*===========================================================================*'
    write (stdout, '(1x,a)') '|                             TIMING INFORMATION                            |'
    write (stdout, '(1x,a)') '*===========================================================================*'
    write (stdout, '(1x,a)') '|    Tag                                                Ncalls      Time (s)|'
    write (stdout, '(1x,a)') '|---------------------------------------------------------------------------|'
    do i = 1, timers%nnames
      write (stdout, '(1x,"|",a50,":",i10,4x,f10.3,"|")') &
        timers%clocks(i)%label, timers%clocks(i)%ncalls, timers%clocks(i)%ctime
    end do
    write (stdout, '(1x,a)') '*---------------------------------------------------------------------------*'

    return

  end subroutine io_print_timings