generate_report Subroutine

subroutine generate_report()

Arguments

None

Calls

proc~~generate_report~~CallsGraph proc~generate_report generate_report interface~mapl_am_i_root MAPL_Am_I_Root proc~generate_report->interface~mapl_am_i_root none~add_column MultiColumn%add_column proc~generate_report->none~add_column none~generate_report ProfileReporter%generate_report proc~generate_report->none~generate_report get_num_rows_header get_num_rows_header none~add_column->get_num_rows_header none~get_num_rows_separator TextColumn%get_num_rows_separator none~add_column->none~get_num_rows_separator none~get_width TextColumn%get_width none~add_column->none~get_width none~push_back~81 TextColumnVector%push_back none~add_column->none~push_back~81 none~set_width TextColumn%set_width none~add_column->none~set_width none~generate_report_profiler ProfileReporter%generate_report_profiler none~generate_report->none~generate_report_profiler none~generate_report_profiler->none~get_width none~get_header~2 MultiColumn%get_header none~generate_report_profiler->none~get_header~2 none~get_root_node~2 BaseProfiler%get_root_node none~generate_report_profiler->none~get_root_node~2 none~get_rows~2 MultiColumn%get_rows none~generate_report_profiler->none~get_rows~2 none~capacity~481 TextColumnVector%capacity none~push_back~81->none~capacity~481 none~resize~162 TextColumnVector%resize none~push_back~81->none~resize~162 none~get_header~2->get_num_rows_header none~get_header~2->none~get_num_rows_separator none~get_header~2->none~get_width get_header get_header none~get_header~2->get_header none~at~375 TextColumnVector%at none~get_header~2->none~at~375 none~center~2 TextColumn%center none~get_header~2->none~center~2 none~get_separator TextColumn%get_separator none~get_header~2->none~get_separator none~get_rows~2->none~get_width get_num_nodes get_num_nodes none~get_rows~2->get_num_nodes get_rows get_rows none~get_rows~2->get_rows none~get_rows~2->none~at~375 none~resize_size_kind~28 TextColumnVector%resize_size_kind none~resize~162->none~resize_size_kind~28

Called by

proc~~generate_report~~CalledByGraph proc~generate_report generate_report program~time_ave time_ave program~time_ave->proc~generate_report

Source Code

    subroutine generate_report()

         character(:), allocatable :: report_lines(:)
         integer :: i
         character(1) :: empty(0)

         reporter = ProfileReporter(empty)
         call reporter%add_column(NameColumn(20))
         call reporter%add_column(FormattedTextColumn('Inclusive','(f12.2)', 12, InclusiveColumn('MEAN')))
         call reporter%add_column(FormattedTextColumn('% Incl','(f6.2)', 6, PercentageColumn(InclusiveColumn('MEAN'),'MAX')))
         call reporter%add_column(FormattedTextColumn('Exclusive','(f12.2)', 12, ExclusiveColumn('MEAN')))
         call reporter%add_column(FormattedTextColumn('% Excl','(f6.2)', 6, PercentageColumn(ExclusiveColumn('MEAN'))))
         call reporter%add_column(FormattedTextColumn(' Max Excl)','(f12.2)', 12, ExclusiveColumn('MAX')))
         call reporter%add_column(FormattedTextColumn(' Min Excl)','(f12.2)', 12, ExclusiveColumn('MIN')))
         call reporter%add_column(FormattedTextColumn('Max PE)','(1x,i5.5,1x)', 7, ExclusiveColumn('MAX_PE')))
         call reporter%add_column(FormattedTextColumn('Min PE)','(1x,i5.5,1x)', 7, ExclusiveColumn('MIN_PE')))
        report_lines = reporter%generate_report(t_prof)
         if (mapl_am_I_root()) then
            write(*,'(a)')'Final profile'
            write(*,'(a)')'============='
            do i = 1, size(report_lines)
               write(*,'(a)') report_lines(i)
            end do
            write(*,'(a)') ''
         end if
    end subroutine generate_report