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

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