Print accumulated information on timers
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iw | |||
real(kind=dp), | intent(in) | :: | r_timings | |||
logical, | intent(in) | :: | sort_by_self_time | |||
integer, | intent(in) | :: | cost_type | |||
logical, | intent(in) | :: | report_maxloc | |||
type(dbcsr_mp_obj), | intent(in) | :: | mp_env |
is needed to collect statistics from other nodes. |
SUBROUTINE timings_report_print(iw, r_timings, sort_by_self_time, cost_type, report_maxloc, mp_env)
!! Print accumulated information on timers
INTEGER, INTENT(IN) :: iw
REAL(KIND=dp), INTENT(IN) :: r_timings
LOGICAL, INTENT(IN) :: sort_by_self_time
INTEGER, INTENT(IN) :: cost_type
LOGICAL, INTENT(IN) :: report_maxloc
TYPE(dbcsr_mp_obj), INTENT(IN) :: mp_env
!! is needed to collect statistics from other nodes.
TYPE(list_routinereport_type) :: reports
TYPE(routine_report_type), POINTER :: r_report
CALL list_init(reports)
CALL collect_reports_from_ranks(reports, cost_type, mp_env)
IF (list_size(reports) > 0 .AND. iw > 0) &
CALL print_reports(reports, iw, r_timings, sort_by_self_time, cost_type, report_maxloc, mp_env)
! deallocate reports
DO WHILE (list_size(reports) > 0)
r_report => list_pop(reports)
DEALLOCATE (r_report)
END DO
CALL list_destroy(reports)
END SUBROUTINE timings_report_print