User Guide

Contents

Pane: Advanced View

Use this pane to get detailed information about a specific function/loop.

Location

View the Advanced view pane at the bottom of the Survey Report and CPU Roofline report windows.

Source Tab

Use this tab to view source code for a selected function/loop.
Double click a code line to open source code in a code editor. Right-click a code line to open a context menu with the following options:
  • Edit Source
    - open source code in a code editor.
  • Copy to Clipboard
    - copy source code for a selected function/loop.
  • What Should I Do Next?
    - open information about your next steps in a web-browser.

Top Down Tab

Use this tab to view the hierarchy of functions/loops, locate a selected function/loop in call chains, and view analysis results for a selected function/loop.
View the function/loop hierarchy in a stack, the source code associated with a specific function or loop, and more. Each function or loop appears on a separate grid line. Loops are identified with an icon and the word loop, followed by the function or procedure name that executes it and the source location.
There are two main regions in the
Top Down
tab:
  • Function Call Sites and Loops
    : View a hierarchical listing of functions and loops in your code. You can expand and collapse entries, or double-click the name of a function or loop to view its source code.
  • Table Columns
    : View additional information about functions and loops in the grid, such as CPU time, type (function, scalar, etc.), compute performance statistics, the instruction sets and extensions (such as VNNI) used, and trip counts. See Data Reference for descriptions of the data columns in Survey and Refinement Reports.
Controls
You can customize the columns shown in the Top Down grid. Click the
Customize View
button in the upper right of the application to display the
View Layout
drop-down list and the
Settings
control (gear icon) in the upper-right of the Top Down tab.
Select a column layout from the
View Layout
drop-down list to change the columns to match an existing column layout.
You can modify a column layout. Select the
Settings
control next to the View Layout drop-down list to open the
Configure Columns
dialog box, then:
  1. Choose an existing view layout in the
    Configuration
    drop-down list.
  2. Enable/disable columns to show/hide.
    Outcome: A new view layout is added to the
    Configuration
    drop-down list, with Copy n added to the name of the original layout.
  3. Click the
    Rename
    button and supply an appropriate name for the customized view layout.
  4. Click
    OK
    to save the customized view layout.
You can also right-click the name of a column in the grid to
Hide Column
,
Show All Columns
, or
Configure Column Layouts
. You can choose to display one layout in the main Survey Report grid, and choose another layout for the Top Down tab.
Hiding or showing columns in a column layout will apply your changes to any grid (the Survey Report grid or the Top Down tab) that is currently using the layout. However, you can rearrange columns in one grid without affecting another grid.

Code Analytics Tab

Use this tab to view the most important statistics for a selected function/loop.
There are several regions available in the
Code Analytics
tab:
  • 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, self-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 <operations type>
    : Click the drop-down list at the top of this section to choose to display performance statistics for a specific operation type:
    FLOP
    ,
    INTOP
    ,
    INT + FLOAT
    , or
    All Operations
    . Click the toggle control to switch between displaying performance statistics using self or total loop metrics.
  • 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, C++, or Fortran Compilers.
  • 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.

Assembly Tab

Use this tab to view assembly representation for a selected loop.

Assistance Tab (Threading Perspective Only)

Use this tab to get recommendations on making annotations in your source code.
Controls
Use a drop-down menu on the top right of this pane to view examples of annotated source code for different task code structures and recommended build settings for the language in use. The following options are available:
  • Iteration Loop, Single Task
    - View and copy an annotation code snippet for a simple loop structure, where the task's code includes the entire loop body. Use this common task structure when only a single task is needed within a parallel site.
  • Loop, One or More Tasks
    - View and copy an annotation code snippet for a loops where the task code does not include all of the loop body, or for complex loops or code that requires specific task begin-end boundaries, including multiple task end annotations. Also use this structure when multiple tasks are needed within a parallel site.
  • Function, One or More Tasks
    - View and copy an annotation code snippet for code that calls multiple functions (task parallelism). Use this structure when multiple tasks are needed within a parallel site.
  • Pause/Resume Collection
    - View and copy an annotation code snippet whose annotations temporarily pause data collection and later resume it. This lets you skip uninteresting parts of the target program's execution to minimize the data collected and speed up the analysis of large applications. Add these annotations outside a parallel site.
  • Build Settings
    - View and copy build (compiler and linker) settings. The Build Settings are specific to the language in use.
View annotated code samples in the text display area. To copy the text lines to the clipboard, right-click and select
Copy to Clipboard
from the context menu, or use the button on the upper-right of the Assistance tab..

Recommendations Tab

Use this tab to explore code specific recommendations how to fix vectorization issues.
Controls
You can view a list of all performance issues detectable in Intel Advisor. Next to
All Advisor-detectable issues
, click to display either
C++
or
Fortran
issues.
Issues and recommendations are displayed in a list. Under each issue, you'll see an explanation of the issue, recommendations for how to resolve it, and code samples that you can expand o collapse. You may also see
Read More
links with additional information about the topic.
You can jump to a specific issue by clicking its name in the list of detected issues to the right.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.