Intel® Advisor User Guide

ID 766448
Date 3/31/2023
Public

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

Document Table of Contents

Threading Accuracy Levels in Command Line

For each perspective, Intel® Advisor has several levels of collection accuracy. Each accuracy level is a set of analyses and properties that control what data is collected and the level of collection details. The higher accuracy value you choose, the higher runtime overhead is added.

In CLI, each accuracy level corresponds to a set of commands with specific options that you should run one by one to get a desired result.

For the Threading perspective, you are recommended to run the accuracy levels one by one to get a Threading report.

The following accuracy levels are available:

Comparison / Accuracy Level

Low

Medium

Overhead

1.1x

5 - 8x

Goal

Find candidates for parallelization

Model threading parallelism and check for loop-carried dependencies

Analyses

Survey

Survey + Characterization (Trip Counts) + Suitability + Dependencies

Result

Basic Survey report

Survey report extended with trip count data

Dependencies report

Suitability report with parallel performance modeled for annotated loops

You can generate commands for a desired accuracy level from the Intel Advisor GUI. See Generate Command Lines from GUI for details.

NOTE:
There is a variety of techniques available to minimize data collection, result size, and execution overhead. Check Minimize Analysis Overhead.

Consider the following command examples.

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.

Low Accuracy

First, run the Threading perspective with low accuracy to find candidates for parallelizing based on Survey analysis results.

Run the analysis as follows:

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

You can view the generated results in the Intel Advisor GUI or in the CLI. The loops/functions with high total time are the best candidates for parallelization. Annotate the loops/functions of interest to model parallelism.

Medium Accuracy

Prerequisite: Annotate loops/functions to model parallelization for. Rebuild the application.

Run the commands as follows:

  1. Run the Survey analysis:

    advisor --collect=survey --project-dir=./advi_results -- ./myApplication
  2. Collect trip count data:

    advisor --collect=tripcounts --project-dir=./advi_results -- ./myApplication
  3. Run the Suitability analysis to model threading parallelism for the annotated loops:

    advisor --collect=suitability --project-dir=./advi_results -- ./myApplication
  4. Run the Dependencies analysis for the annotated loops:

    advisor --collect=dependencies --project-dir=./advi_results -- ./myApplication

You can view the generated results in the Intel Advisor GUI or in the CLI.

See Also