Intel® Advisor User Guide

ID 766448
Date 10/31/2024
Public
Document Table of Contents

Loop Markup 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 skip uninteresting loops and analyze only interesting loops.

Select Loops by ID

Goal: Minimize collection overhead.

Applicable analyses: Characterization with Trip Counts and FLOP collection enabled, Dependencies, Memory Access Patterns.

Use when...

  • You want to perform a deeper analysis on only a few loops.

  • CLI environment: You cannot identify source file/line numbers, such as when you are analyzing a target application for which you do not have access to source code.

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.

Prerequisites:

  1. Run a Survey analysis.

  2. advisor CLI environment: Identify the loop IDs for the loops of interest.

    advisor --report=survey --project-dir=./advi_results -- ./myApplication

    In the report, the first column is the loop IDs.

TIP:

Intel® Advisor reports tend to be very wide. Do one of the following to generate readable reports:

  • Set your console width appropriately to avoid line wrapping.

  • Pipe your report using the appropriate truncation command if you care only about the first few report columns.

After performing the prerequisites, do one of the following:

NOTE:

There are different ways to select loops is in the CLI environment:

Select Loops by Source File/Line Number

Minimize collection overhead.

Applicable analyses: Characterization with Trip Counts and FLOP collection enabled, Dependencies, Memory Access Patterns.

Use when...

  • You want to perform a deeper analysis on only a few loops.

  • CLI environment: You are analyzing a target application for which you have access to source code and can identify source file/line numbers.

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.

Prerequisites:

  1. Run a Survey analysis.

  2. advisor CLI environment: If necessary, identify the source file and line number for the loops of interest.

    advisor --report=survey --project-dir=./advi_results -- ./myApplication

After performing the prerequisites, do one of the following: