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

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