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