Intel® Advisor User Guide

ID 766448
Date 12/16/2022
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Execution Speed/Duration/Scope Properties to Minimize Analysis Overhead

Issue

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

Solutions

Use the following techniques to minimize overhead while collecting Intel Advisor analysis data. The Disabling additional analysis technique also minimizes finalization overhead.

Change Stackwalk Mode from Offline (After collection) to Online (During Collection)

Minimize collection overhead.

Applicable analysis: Survey.

Set to offline/after collection when:

  • Survey analysis runtime overhead exceeds 1.1x.

  • A large quantity of data is allocated on the stack, which is a common case for Fortran applications or applications with a large number of small, parallel, OpenMP* regions

Note: In the commands below, make sure to replace the myApplication with your application executable path and name before executing a command. If your application requires additional command line options, add them after the executable name.

To implement, do one of the following before/while running a Survey analysis:

  • Set Project Properties > Analysis Target > Survey Hotspots Analysis > Advanced > Stack unwinding mode > During collection.

  • Use the advisor CLI action option --stackwalk-mode=online. For example:

    advisor --collect=survey --project-dir=./advi_results --stackwalk-mode=online -- ./myApplication

Disable Stacks Collection

Minimize collection overhead.

Applicable analyses: Characterization with Trip Counts and FLOP collections enabled.

To implement, do one of the following before/while running the analysis:

  • Disable the Analysis Workflow pane > Characterization Collect call stacks checkbox.

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

  • Ensure the CLI action option --stacks is omitted from the command line. Alternative: Use the CLI action option --no-stacks.

    NOTE:
    If you collected callstack-attributed data with collect.py or advisor (with --collect=tripcounts), but callstack attribution went wrong, disable using callstacks data for analysis with analyze.py to avoid using the wrong data. This is a possible fallback when data with stacks is broken. Notice that this reduces modeling accuracy.

Disable Stitch Stacks

Minimize collection overhead.

Applicable analysis: Survey.

The stitch stacks option restores a logical call tree for Intel® oneAPI Threading Building Blocks (oneTBB) or OpenMP* applications by catching notifications from the runtime and attaching stacks to a point introducing a parallel workload.

Disable when Survey analysis runtime overhead exceeds 1.1x.

Note: In the commands below, make sure to replace the myApplication with your application executable path and name before executing a command. If your application requires additional command line options, add them after the executable name.

To implement, do one of the following before/while running the analysis:

  • Disable the Project Properties > Analysis Target > Survey Hotspots Analysis > Advanced > Stitch stacks checkbox.

  • Use the advisor CLI action option --no-stack-stitching. For example:

    advisor --collect=survey --project-dir=./advi_results --no-stack-stitching -- ./myApplication
NOTE:

Disabling stack stitching may decrease the overhead for applications using oneTBB.

Increase Sampling Interval

Minimize collection overhead.

Applicable analysis: Survey.

Increase the wait time between each analysis collection sample when your target application runtime is long.

Note: In the commands below, make sure to replace the myApplication with your application executable path and name before executing a command. If your application requires additional command line options, add them after the executable name.

To implement, do one of the following before/while running the analysis:

  • Increase the value in the Project Properties > Analysis Target > Survey Hotspots Analysis > Advanced > Sampling interval checkbox.

  • Use the advisor CLI action option