User Guide

Contents

Minimizing
Analysis Overhead

Running your target application with the
Intel Advisor
can take substantially longer than running your target application without the
Intel Advisor
. For example:
Runtime Overhead / Analysis
Survey
Trip Counts & FLOP
Roofline
Dependencies
MAP
Target application runtime with
Intel Advisor
compared to runtime without
Intel Advisor
1.1x longer
3 - 8x longer
3.1 - 8.1x longer
5 - 100x longer
5 - 20x longer
The following tables summarize how to minimize overhead while collecting and finalizing
Intel Advisor
analysis data. The techniques are grouped by:

Collection Controls

The following table is a summary. For more information, see Collection Controls to Minimize Analysis Overhead.
Minimization Technique
Impacted Analyses
Summary
Pause collection/Resume collection using API methods
  • Roofline
  • Survey
  • Trip Counts & FLOP
Pause collection:
  • C++:
    __itt_pause
  • Fortran: Use
    ITTNOTIFY
    statement to call
    ITT_PAUSE()
    subroutine
Resume collection:
  • C++:
    __itt_resume
  • Fortran: Use
    ITTNOTIFY
    statement to call
    ITT_RESUME()
    subroutine
Pause collection/Resume collection using annotations
  • Survey
  • Dependencies
Some analysis types recognize the structural annotations typically used in the
Threading Advisor
workflow.
Pause collection:
  • C++:
    ANNOTATE_DISABLE_COLLECTION_PUSH
  • Fortran:
    call annotate_disable_collection_push()
  • C#:
    Annotate.DisableCollectionPush()
    ;
Resume collection:
  • C++:
    ANNOTATE_DISABLE_COLLECTION_POP
  • Fortran:
    call annotate_disable_collection_pop()
  • C#:
    Annotate.DisableCollectionPop();
Start target application with collection paused
  • Survey
  • Trip Counts & FLOP
Start target application with collection paused:
  • GUI control:
    Workflow
    pane
    > Start paused
    control
  • advixe-cl
    CLI action option:
    -start-paused
You can use different techniques to resume collection. The most common is
__itt_resume
Start target application with collection paused/Resume collection after N seconds
  • Survey
  • Trip Counts & FLOP
GUI control:
Project Properties
Analysis Target
[Name] Analysis
Advanced
Automatically resume collection after (sec)
checkbox
advixe-cl
CLI action option:
-resume-after=<integer>
Stop collection after N seconds
All
GUI control:
Project Properties
Analysis Target
[Name] Analysis
Advanced
Automatically stop collection after (sec)
checkbox and field
advixe-cl
CLI action:
-stop-after=<integer>
Stop collection
All
GUI control:
Workflow
pane
> Stop current analysis
control and
Site Coverage
widget
advixe-cl
CLI: action option:
-command=stop
Manually pause collection/Manually resume collection
  • Survey
  • Trip Counts & FLOP
Pause collection:
  • GUI control:
    Workflow
    pane
    > Pause
    control
  • advixe-cl
    CLI action:
    -command=pause
Resume collection:
  • GUI control:
    Workflow
    pane
    > Resume
    control
  • advixe-cl
    CLI action:
    -command=resume
Attach to process/Detach from process
  • Survey
  • Trip Counts & FLOP
Attach to process:
  • GUI control:
    Project Properties
    Analysis Target
    [Name] Analysis
    > Launch Application
    drop-down list
    > Attach to Process
  • advixe-cl
    CLI action options:
    -target-pid=<unsigned integer>
    and
    -target-process=<string>
Detach from process:
  • GUI control:
    Workflow
    pane
    > Stop current analysis
    control
  • advixe-cl
    CLI action:
    -command=detach

Loop Markup

The following table is a summary. For more information, see Loop Markup to Minimize Analysis Overhead.
Minimization Technique
Impacted
Intel Advisor
Analyses
Summary
Select loops by ID
  • Trip Counts & FLOP
  • Dependencies
  • Memory Access Patterns
GUI control:
Survey Report
checkbox(es)
advixe-cl
CLI action option:
-mark-up-list=<string>
Select loops by source file/line
  • Trip Counts & FLOP
  • Dependencies
  • Memory Access Patterns
GUI control:
Survey Report
checkbox(es)
advixe-cl
CLI action:
-mark-up-loops
with action option
-select=<string>
Select loops by criteria
  • Dependencies
  • Memory Access Patterns
GUI control:
Workflow
pane
> Batch mode
settings
advixe-cl
CLI: action
-mark-up-loops
or
-collect
with action option
-loops=<string>

Filtering

The following table is a summary. For more information, see Filtering to Minimize Analysis Overhead.
Minimization Technique
Impacted
Intel Advisor
Analyses
Summary
Filter modules
  • Survey
  • Trip Counts & FLOP
GUI control:
Project Properties
Analysis Target
[Name] Analysis
Modules
options and field
advixe-cl
CLI: action option:
-module-filter-mode=include | exclude
and
-module-filter=<string>

Execution Speed/Duration/Scope Properties

The following table is a summary. For more information, see Execution Speed/Duration/Scope Properties to Minimize Analysis Overhead.
Minimization Technique
Impacted
Intel Advisor
Analyses
Summary
Change stackwalk mode from offline (after collection) to online (during collection)
Survey
GUI control:
Project Properties
Analysis Target
Survey Hotspots Analysis
Advanced
Stack unwinding mode
During collection
advixe-cl
CLI action option:
-stackwalk-mode=online
Disable stacks collection
  • Roofline
  • Trip Counts & FLOP
GUI controls:
  • Vectorization Workflow
    pane
    > Enable Roofline with Callstacks
    checkbox
  • Project Properties
    Analysis Target
    Trip Counts and FLOP Analysis
    Advanced
    Collect stacks
    checkbox
advixe-cl
CLI action option:
-no-stacks
(or just ensure the CLI action option
-stacks
is omitted from the
advixe-cl
command line)
Disable stitch stacks
Survey
GUI control:
Project Properties
Analysis Target
Survey Hotspots Analysis
Advanced
Stitch stacks
checkbox
advixe-cl
CLI action option:
-no-stack-stitching
Increase sampling interval
Survey
GUI control:
Project Properties
Analysis Target
Survey Hotspots Analysis
Advanced
Sampling interval
field
advixe-cl
CLI action option:
interval=<integer>
Limit collected analysis data
Survey
GUI control:
Project Properties
Analysis Target
Survey Hotspots Analysis
Advanced
Collection data limit, MB
field
advixe-cl
CLI action option:
-data-limit=<integer>
Limit loop call count
  • Dependencies
  • Memory Access Patterns
GUI control:
Project Properties
Analysis Target
[Name] Analysis
Advanced
Loop Call Count Limit
field
advixe-cl
CLI action option:
-loop-call-count-limit=<integer>
Disable additional analysis
Survey
GUI controls:
Project Properties
Analysis Target
Survey Hotspots Analysis
Advanced
...
  • Analyze MKL loops and functions
    checkbox
  • Analyze Python loops and functions
    checkbox
  • Analyze loops that reside in non-executed code paths
    checkbox
  • Enable register spill/fill analysis
    checkbox
  • Enable static instruction mix analysis
    checkbox
advixe-cl
CLI action options:
  • -no-mkl-user-mode
  • -no-profile-python
  • -no-support-multi-isa-binaries
  • -no-spill-analysis
  • -no-static-instruction-mix

Miscellaneous Techniques

The following table is a summary. For more information, see Miscellaneous Techniques to Minimize Analysis Overhead.
Minimization Technique
Impacted
Intel Advisor
Analyses
Summary
Disable cache simulation
  • Trip Counts & FLOP
  • Memory Access Patterns
GUI controls:
  • Project Properties
    Analysis Target
    Memory Access Patterns Analysis
    Advanced
    Enable cache simulation
    checkbox
  • Project Properties
    Analysis Target
    Trip Counts and FLOP Analysis
    Advanced
    Enable cache simulation
    checkbox
advixe-cl
CLI action option:
-no-enable-cache-simulation
Limit reported data
Memory Access Patterns
GUI controls:
  • Project Properties
    Analysis Target
    Memory Access Patterns Analysis
    Advanced
    Report stack variables
    checkbox
  • Project Properties
    Analysis Target
    Memory Access Patterns Analysis
    Advanced
    Report heap allocated variables
    checkbox
advixe-cl
CLI action options:
  • -no-record-stack-frame
  • -no-record-mem-allocations
Minimize data set
All, but especially:
  • Dependencies
  • Memory Access Patterns
Minimize number of instructions executed within a loop while thoroughly exercising target application control flow paths
Temporarily disable finalization until opening result in GUI
  • Roofline
  • Survey
  • Trip Counts & FLOP
GUI control:
Workflow
pane
> Cancel current analysis
control during finalization
advixe-cl
CLI action option:
-no-auto-finalize

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