User Guide


Code Analytics Tab

Code Analytics Tab Purpose and Usage

View the most important statistics for a selected loop.

Code Analytics Tab Location

Bottom of the Survey Report and Roofline Analysis window

Code Analytics Tab Regions and Usage

  • Summary
    : View a quick list of basic information about the loop, such as the code source, whether the loop is scalar or vector, instruction set (and whether extensions, such as VNNI, are used), total time, and the static and dynamic instruction mix.
  • Traits
    : View additional scalar and vectorization characteristics that may impact performance. For a list of possible traits, see the Data Reference.
  • Trip Counts
    : View information about the number of times the loop is invoked (trip count), such as the minimum and maximum trip count, the average loop iteration time, etc.
  • Statistics for x
    : Click the drop-down list at the top of this section to choose to display performance statistics for a specific operation type:
    , or
    All Operations
    Click the toggle control to switch between displaying performance statistics using self or total loop metrics.
  • Data Transfer and Bandwidth:
    View the amount of data transferred for the loop per memory level and bandwidth for each memory level. Click the toggle control to switch between self and total data.
    To see this pane, run Roofline analysis for all memory levels with cache simulation enabled.
  • Code Optimizations
    : View a list of code optimizations applied to the loop by the compiler, as well as information on which compiler was used and what version. This information is only available for binaries compiled by the Intel® C Compiler,
    Intel® C++ Compiler Classic
    , or
    Intel® Fortran Compiler Classic
  • Roofline
    : View a more detailed roofline chart that summarizes recommendations and information from the Roofline Conclusions section, such as whether the loop is compute bound, memory bound, or both. This chart features:
    • The labeled distance between the loop and the performance roof limiting it.
    • The metrics used to plot the loop on the chart, Giga OPS (operations per second) and AI (arithmetic intensity).
    If you have collected the Roofline for all memory levels, you can use the
    Memory Level/CARM
    selector to switch between Roofline guidance views. When you set the selector to
    Memory Level
    , the chart features X marks representing memory levels for the loop and an arrowed line indicating the memory level that bounds the loop.
  • Memory Metrics
    : View how efficiently the loop/function uses cache and what memory level bounds the loop/function.
    • Review the
      histogram, which shows time spent processing requests for each memory level. A big value indicates a memory level that bounds the selected loop.
    • Review the
      histogram, which shows an amount of data that passes through each memory level.

Product and Performance Information


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 reserverd 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