Intel® Advisor User Guide

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

CPU Roofline 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.

The following accuracy levels are available:

Comparison / Accuracy Level

Low

Medium

Overhead

5 - 10x

15 - 50x

Goal

Analyze how well your application uses memory and compute resources of a CPU and determine the main limiting factor (memory bandwidth or compute capacity)

Analyze how well your application uses CPU memory at different cache levels in more details

Analyses

Survey + Characterization (FLOP)

Survey + Characterization (Trip Counts and FLOP with call stacks for all memory levels) + Memory Access Patterns

Result

Cache-aware CPU Roofline for L1 cache

Memory-level CPU Roofline with call stacks (for L1, L2, L3, DRAM)

Memory Access Patterns

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

To run the CPU / Memory Roofline Insights perspective with the low accuracy:

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

Medium Accuracy

To run the CPU / Memory Roofline Insights perspective with the medium accuracy:

  1. Generate the Memory-level Roofline report with call stacks:

    advisor --collect=roofline --stacks --enable-data-transfer-analysis --project-dir=./advi_results -- ./myApplication
  2. Run the Memory Access Pattern analysis for the loops that have the Possible Inefficient Memory Access Pattern issue:

advisor --collect=map --select=has-issue --project-dir=./advi_results -- ./myApplication

You can view the results in the Intel Advisor GUI or generate an interactive HTML report.

See Also