Intel® Advisor User Guide

ID 766448
Date 3/22/2024
Public
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>

Stop collection

All

GUI control: Workflow pane > Stop current analysis control and Site Coverage widget

advisor CLI: action option: -command=stop

Manually pause collection/Manually resume collection

  • Survey

  • Characterization

Pause collection:

  • GUI control: Workflow pane > Pause control

  • advisor CLI action: -command=pause

Resume collection:

  • GUI control: Workflow pane > Resume control

  • advisor CLI action: -command=resume

Attach to process/Detach from process

  • Survey

  • Characterization

Attach to process:

  • GUI control: Project Properties > Analysis Target > [Name] Analysis> Launch Application drop-down list > Attach to Process

  • advisor CLI action options: -target-pid=<unsigned integer> and -target-process=<string>

Detach from process:

  • GUI control: Workflow pane > Stop current analysis control

  • advisor 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

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

Limit loop call count

  • Dependencies

  • Memory Access Patterns

GUI control: Project Properties > Analysis Target > [Name] Analysis > Advanced > Loop Call Count Limit field

advisor 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

advisor 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

  • 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