Filtering to Minimize Analysis Overhead

Issue

Running your target application on all binary modules with the Intel Advisor can take substantially longer than running your target application without the Intel Advisor. For example:

Runtime Overhead / Analysis

Survey

Trip Counts & FLOP

Roofline

Dependencies

MAP

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

1.1x longer

3 - 8x longer

3.1 - 8.1x longer

5 - 100x longer

5 - 20x longer

Solution

Use the following techniques to skip uninteresting modules and/or analyze only interesting modules.

Minimization Technique

Impacted Intel Advisor Analyses

Summary

Filter modules

  • Survey

  • Trip Counts & FLOP

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

CLI: action option: -module-filter-mode=include | exclude and -module-filter=<string>

Filter Modules

Minimize collection and finalization overhead.

Applicable analyses: Survey, Trip Counts and FLOP.

Use to...

  • Exclude modules you cannot optimize, such as third-party code.

  • Include a small number of modules of interest.

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

  • Set Project Properties > Analysis Target > [Name] Analysis > Modules > Exclude the following module(s) and identify the modules.

  • Use the CLI action options -module-filter-mode=exclude and -module-filter=<string>. For example:

    advixe-cl -collect survey -project-dir ./myAdvisorProj -module-filter-mode=exclude -module-filter=foo1.so,foo2.so -- ./bin/myTargetApplication
  • Set Project Properties > Analysis Target > [Name] Analysis > Modules > Include only the following module(s) and identify the modules.

  • Use the CLI action options -module-filter-mode=include and -module-filter=<string>. For example:

    advixe-cl -collect survey -project-dir ./myAdvisorProj -module-filter-mode=include -module-filter=foo1.so,foo2.so -- ./bin/myTargetApplication
For more complete information about compiler optimizations, see our Optimization Notice.