timings_report_print Subroutine

public subroutine timings_report_print(iw, r_timings, sort_by_self_time, cost_type, report_maxloc, mp_env)

Print accumulated information on timers

Arguments

TypeIntentOptionalAttributesName
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.


Contents

Source Code


Source Code

   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