User Guide

Contents

Performance Predictor Report

Performance Predictor Report Overview

The
report.html
file contains multiple sections:
Summary
,
Offloaded Regions
,
Non-Offloaded Regions
,
Call Tree
,
Configuration
,
Logs
. You can switch between different sections using the links in the top left box. The top right box highlights total speedup, number of loops and functions offloaded, and a fraction of code accelerated.
By default, the report opens the
Summary
section.

Summary Section

The Summary section includes the most important information about your program and regions analyzed and allows you to adjust the configuration parameters. It is broken down into several panes:
  • Program metrics
    : View the main performance metrics of your program, such as the number of offloads, speedup, and time spent on a target device. The bar chart above visually compares the original execution time spent on a base platform (for example, on a CPU) with the estimated execution time on a target device. The chart on the right breaks down the estimated time by specific tasks, including offload taxes, in percentages.
  • Offloads bounded by
    : View the fractions of offloaded code bounded by specific limitations, in percentages.
  • Configuration
    : View the hardware configuration used to generate performance prediction for your application.
    • To customize the target device configuration for performance projection, move the sliders (shown in the image above, in the top right).
    • To use your custom configuration, save the configuration file by clicking the
      Download configuration file
      icon and re-run the
      analyze.py
      or
      run_oa.py
      performance projection script with this file using the
      --config <CONFIG>
      option. The file will be saved as
      scaler.toml
      . For example, to run
      analyze.py
      with the custom configuration file:
      advixe-python <APM>/analyze.py ./advi --config <path-to-config>/scalers.toml
      where
      <APM>
      is the
      Offload Advisor
      environment variable that points to script directory. Replace it with
      $APM
      on Linux* OS or
      %APM%
      on Windows* OS.
      Some of the parameters require running performance collection (
      collect.py
      ) in addition to the performance projection with
      analyze.py
      . Refer to the comments in the
      Configuration
      section of the report or in the downloaded configuration file for more information.
    • To reset a slider position to default, click an arrow icon below a specific slider. To reset all sliders to default, click the
      Reset to default
      icon.
    • To go to the
      Configuration
      section of the report, click the
      Open configuration page
      icon.
  • Top Offloaded
    : View the top five offloaded code regions sorted by speedup and performance metrics. Hover over a histogram in the
    Bounded By
    column to see time breakdown with color legend. Click a code region to open it in the
    Offloaded Regions
    section.
  • Top Non-Offloaded
    : View the top five non-offloaded code regions, performance metrics, and the reason why they were not offloaded. Hover over a histogram in the
    Execution Time
    column to see time breakdown with color legend. Click a code region to open it in the
    Non-Offloaded Regions
    section. For details about reasons for not offloading and possible solutions, refer to Troubleshooting Why Not Offloaded.

Offloaded Regions Section

The
Offloaded Regions
section provides detailed information on all of the offloaded regions of the code. By default, the code regions are sorted by total execution time.
  • Review the performance metrics and useful information about offloaded loops in the
    metrics table
    . For details about metrics and the pane controls, see Reported Metrics.
  • View the source code associated with a specific function or loop in the
    Source Code
    pane (on the right). To see source code, if available, click a specific loop in the
    Hierarchy column
    of the metrics table.
  • Review the
    memory objects
    used in a code region. To see details about tracked memory objects, if any, click a specific code region in the
    Hierarchy
    column of the metrics table. The memory objects pane includes the following:
    • The table reports details about each memory object tracked in the selected code region. By default, the table is sorted by memory object size. Hover over a column header and click the menu icon to filter values or autosize columns.
    • The memory objects histogram shows a distribution of memory objects by size.
  • View a hierarchical listing of functions and loops in your code in the
    Hierarchy pane
    (on the right). To locate a specific loop, click its name in the
    Hierarchy column
    of the metrics table.

Non-Offloaded Regions Section

The
Non-Offloaded Regions
section provides detailed information on all of the regions of the code that were not offloaded and the reason why they were not offloaded. By default, the code regions are sorted by total execution time.
  • Review the performance metrics and useful information about non-offloaded loops in the metrics table. For details about metrics and the pane controls, see Reported Metrics.
  • View the source code associated with a specific function or loop in the
    Source Code
    pane (on the right). To see source code, if available, click a specific loop in the
    Hierarchy column
    of the metrics table.
  • Review the
    memory objects
    used in a code region. To see details about tracked memory objects, if any, click a specific code region in the
    Hierarchy
    column of the metrics table. The memory objects pane includes the following:
    • The table reports details about each memory object tracked in the selected code region. By default, the table is sorted by memory object size. Hover over a column header and click the menu icon to filter values or autosize columns.
    • The memory objects histogram shows a distribution of memory objects by size.
  • View a hierarchical listing of functions and loops in your code in the
    Hierarchy pane
    (on the right). To locate a specific loop, click its name in the
    Hierarchy column
    of the metrics table.

Call Tree Section

The
Call Tree Regions
section provides a top-down view of the code and performance metrics for loops and functions. The page contains several sections:
  • Review the performance metrics and useful offload information about all code regions in the metrics table. For the details about metrics and the pane controls, see Reported Metrics.
  • View the source code associated with a specific function or loop in the
    Source Code
    pane (on the right). To see source code, if available, click a specific loop in the
    Hierarchy column
    of the metrics table.
  • Review the
    memory objects
    used in a code region. To see details about tracked memory objects, if any, click a specific code region in the
    Hierarchy
    column of the metrics table. The memory objects pane includes the following:
    • The table reports details about each memory object tracked in the selected code region. By default, the table is sorted by memory object size. Hover over a column header and click the menu icon to filter values or autosize columns.
    • The memory objects histogram shows a distribution of memory objects by size.
If you notice problems with the reported call tree, such as duplicated code regions or incorrect number of trip counts, refer to Troubleshooting Broken Call Tree.

Configuration Section

The
Configuration
section shows the source code of a commented configuration file in a read-only format. Review the comments for detailed description and possible values of the parameters. To change the values of the configuration parameters, use the sliders in the
Summary
section.

Logs Section

The
Logs
section provides a command line used to run the analysis and all output messages reported in console during the script(s) execution. This section reports four types of messages:
Error
,
Warning
,
Info
, and
Debug
.
  • By default, only
    Error
    ,
    Warning
    , and
    Info
    messages are shown. To control types of messages shown, hover over the
    Severity
    column header and click the menu button to open filters pane.
  • To filter output messages, hover over the
    Message
    column header, click the menu button to open filters pane, and type a filter text.
  • By default, the messages are reported in the order of their appearance in console during the script(s) execution. To group the messages by type, click the table header.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804