Intel® Advisor User Guide

ID 766448
Date 3/31/2025
Public

Visible to Intel only — GUID: GUID-F8C4F59C-83BE-4CCA-8EF9-2C8945BE9908

Document Table of Contents

Minimize Analysis Overhead

Running your target application with the Intel® Advisor can take substantially longer than running your target application without the Intel® Advisor. Depending on an accuracy level and analyses you choose for a perspective, different overhead is added to your application execution time. For example:

Runtime Overhead / Analysis

Survey

Characterization

Dependencies

MAP

Target application runtime with Intel® Advisor compared to runtime without Intel® Advisor

1.1x longer

2 - 55x longer

5 - 100x longer

5 - 20x longer

The following tables summarize how to minimize overhead while collecting and finalizing Intel® Advisor analysis data.

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

  • Survey

  • Characterization

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 perspective 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();

NOTE:
C# and .NET support is deprecated starting Intel® Advisor 2021.1.

Start target application with collection paused

  • Survey

  • Characterization

Start target application with collection paused:

  • GUI control: Workflow pane > Start paused control

  • advisor CLI action option: -start-paused

NOTE:

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

  • Characterization

GUI control: Project Properties > Analysis Target > [Name] Analysis > Advanced > Automatically resume collection after (sec) checkbox

advisor 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

advisor CLI action: -stop-after=<integer>

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

  • Characterization

  • Dependencies

  • Memory Access Patterns

GUI control: Survey Report checkbox(es)

advisor CLI action option: -mark-up-list=<string>

Select loops by source file/line

  • Characterization

  • Dependencies

  • Memory Access Patterns

GUI control: Survey Report checkbox(es)

advisor CLI action: -mark-up-loops with action option -select=<string>

Select loops by criteria

  • Dependencies

  • Memory Access Patterns

advisor 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

  • Characterization

GUI control: Project Properties > Analysis Target > [Name] Analysis > Modules options and field

advisor 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

advisor CLI action option: -stackwalk-mode=online

Disable stacks collection

  • Characterization

GUI controls:

  • Vectorization Workflow pane > Enable Roofline with Callstacks checkbox

  • Project Properties > Analysis Target > Trip Counts and FLOP Analysis > Advanced > Collect stacks checkbox

advisor CLI action option: -no-stacks (or just ensure the CLI action option -stacks is omitted from the advisor command line)

Disable stitch stacks

Survey

GUI control: Project Properties > Analysis Target > Survey Hotspots Analysis > Advanced > Stitch stacks checkbox

advisorCLI action option: -no-stack-stitching

Increase sampling interval

Survey

GUI control: Project Properties > Analysis Target > Survey Hotspots Analysis > Advanced > Sampling interval field

advisor 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

advisor CLI action option: -data-limit=<integer>

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

  • Characterization

  • 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

advisor 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

advisor 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

  • Survey

  • Characterization

GUI control: Workflow pane > Cancel current analysis control during finalization

advisor CLI action option: -no-auto-finalize