Intel® Advisor User Guide

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

Customize Vectorization and Code Insights Perspective

Customize the perspective flow to better fit your goal and your application.

If you change any of the analysis settings from the Analysis Workflow tab, the accuracy level changes to Custom automatically. With this accuracy level, you can customize the perspective flow and/or analysis properties.

To change the properties of a specific analysis:

  1. Expand the analysis details on the Analysis Workflow pane with .
  2. Select desired settings.
  3. For more detailed customization, click the gear icon. You will see the Project Properties dialog box open for the selected analysis.
  4. Select desired properties and click OK.

For a full set of available properties, click the icon on the left-side pane or go to File > Project Properties.

The following tables cover project properties applicable to the analyses in the Vectorization and Code Insights perspective.

Common Properties

Use This

To Do This

Target type drop-down

  • Analyze an executable or script (choose Launch Application).

  • Analyze a process (choose Attach to Process).

If you choose Attach to Process, you can either inherit settings from the Survey Hotspots Analysis Type or specify the needed settings.

Inherit settings from Visual Studio project checkbox and field (Visual Studio* IDE only)

Inherit Intel Advisor project properties from the Visual Studio* startup project (enable).

If enabled, the Application, Application parameters, and Working directory fields are pre-filled and cannot be modified.

NOTE:
In Visual Studio* 2022, Intel Advisor provides lightweight integration. You can configure and compile your application and open the standalone Intel Advisor interface from the Visual Studio for further analysis. All your settings will be inherited by the standalone Intel Advisor project.

Application field and Browse... button

Select an analysis target executable or script.

If you specify a script in this field, consider specifying the executable in the Advanced > Child application field (required for Dependencies analysis).

Application parameters field and Modify... button

Specify runtime arguments to use when performing analysis (equivalent to command line arguments).

Use application directory as working directory checkbox

Automatically use the value in the Application directory to pre-fill the Working directory value (enable).

Working directory field and Browse... button

Select the working directory.

User-defined environment variables field and Modify... button

Specify environment variables to use during analysis.

Managed code profiling mode drop-down

  • Automatically detect the type of target executable as Native or Managed, and switch to that mode (choose Auto).

  • Collect data for native code and do not attribute data to managed code (choose Native).

  • Collect data for both native and managed code, and attribute data to managed code as appropriate (choose Mixed). Consider using this option when analyzing a native executable that makes calls to managed code.

  • Collect data for both native and managed code, resolve samples attributed to native code, and attribute data to managed source only (choose Managed). The call stack in the analysis result displays data for managed code only.

Child application field

Analyze a file that is not the starting application. For example: Analyze an executable (identified in this field) called by a script (identified in the Application field).

Invoking these properties could decrease analysis overhead.

NOTE:

For the Dependencies Analysis Type: If you specify a script file in the Application field, you must specify the target executable in the Child application field.

Modules radio buttons, field, and Modify... button

  • Analyze specific modules and disable analysis of all other modules (click the Include only the following module(s) radio button and choose the modules).

  • Disable analysis of specific modules and analyze all other modules (click the Exclude only the following module(s) radio button and choose the modules).

Including/excluding modules could minimize analysis overhead.

GPU kernels of interest field and Modify... button

Analyze specific kernels only, minimizing analysis overhead.

Use MPI launcher checkbox

Generate a command line (enable) that appears in the Get command line field based on the following parameters:

  • Select MPI Launcher - Intel or another vendor

  • Number of ranks - Number of instances of the application

  • Profile ranks - All or a range of ranks to profile

Automatically stop collection after (sec) checkbox and field

Stop collection after a specified number of seconds (enable and specify seconds).

Invoking this property could minimize analysis overhead.

Survey Analysis Properties

Use This

To Do This

Automatically resume collection after (sec) checkbox and field

Start running your target application with collection paused, then resume collection after a specified number of seconds (enable and specify seconds).

Invoking this property could decrease analysis overhead.

TIP:

The corresponding CLI action option is --resume-after=<integer>, where the integer argument is in milliseconds, not seconds.

Sampling Interval selector

Set the wait time between each analysis collection CPU sample while your target application is running.

Increasing the wait time could decrease analysis overhead.

Collection data limit, MB selector

Set the amount of collected raw data if exceeding a size threshold could cause issues. Not available for hardware event-based analyses.

Decreasing the limit could decrease analysis overhead.

Callstack unwinding mode drop-down list

Set to After collection if:

  • Survey analysis runtime overhead exceeds 1.1x.

  • A large quantity of data is allocated on the stack, which is a common case for Fortran applications or applications with a large number of small, parallel, OpenMP* regions.

Otherwise, set to During Collection. This mode improves stack accuracy but increases overhead.

Stitch stacks checkbox

Restore a logical call tree for Intel® oneAPI Threading Building Blocks (oneTBB) or OpenMP* applications by catching notifications from the runtime and attaching stacks to a point introducing a parallel workload (enable).

Disable if Survey analysis runtime overhead exceeds 1.1x.

Analyze MKL Loops and Functions checkbox

Show Intel® oneAPI Math Kernel Library (oneMKL) loops and functions in Intel Advisor reports (enable).

Enabling could increase analysis overhead.

Analyze Python loops and functions checkbox

Show Python* loops and functions in Intel Advisor reports (enable).

Enabling could increase analysis overhead.

Analyze loops that reside in non-executed code paths checkbox

Collect a variety of data during analysis for loops that reside in non-executed code paths, including loop assembly code, instruction set architecture (ISA), and vector length (enable).

Enabling could increase analysis overhead.

NOTE:

Analyzing non-executed code paths in binaries that target multiple ISAs (contain multiple code paths) is available only for binaries compiled using the -ax (Linux* OS) / Qax (Windows* OS) option with an Intel compiler.

Enable registry spill/fill analysis checkbox

Calculate the number of consecutive load/store operations in registers and related memory traffic (enable).

Enabling could increase analysis overhead.

Enable static instruction mix analysis checkbox

Statically calculate the number of specific instructions present in the binary (enable).

Enabling could increase analysis overhead.

Source caching drop-down list

  • Delete source code cache from a project with each analysis run (default; choose Clear cached files).

  • Keep source code cache within the project (choose Keep cached files).

Trip Counts and FLOP Analysis Properties

Use This

To Do This

Inherit settings from the Survey Hotspots Analysis Type checkbox

Copy similar settings from Survey analysis properties (enable).

When enabled, this option disables application parameters controls.

Automatically resume collection after (sec) checkbox and field

Start running your target application with collection paused, then resume collection after a specified number of seconds (enable and specify seconds).

Invoking this property could decrease analysis overhead.

TIP:

The corresponding CLI action option is --resume-after=<integer>, where the integer argument is in milliseconds, not seconds.

Collect information about Loop Trip Counts checkbox

Measure loop invocation and execution (enable).

Collect information about FLOP, L1 memory traffic, and AVX-512 mask usage checkbox

Measure floating-point operations, integer operations, and memory traffic (enable).

Collect stacks checkbox

Collect call stack information when performing analysis (enable).

Enabling could increase analysis overhead.

Capture metrics for dynamic loops and functions checkbox

Collect metrics for dynamic Just-In-Time (JIT) generated code regions.

Memory Access Patterns Analysis Properties

Use This

To Do This

Inherit settings from the Survey Hotspots Analysis Type checkbox

Copy similar settings from Survey analysis properties (enable).

When enabled, this option disables application parameters controls.

Suppression mode group box

  • Report possible memory issues in system modules (choose the Show problems in system modules radio button).
  • Do not report possible memory issues in system modules (choose the Suppress problems in system modules radio button).

Loop call count limit selector

Choose the maximum number of instances each marked loop is analyzed. 0 = analyze all loop instances.

Supplying a non-zero value could decrease analysis overhead.

Instance of interest selector

Analyze the nth child process, where 1 = the first process of the specified name in the application process tree. 0 = analyze all processes.

Supplying a non-zero value could decrease analysis overhead.

Report stack variables checkbox

Report stack variables for which memory access strides are detected (enable).

Enabling could increase analysis overhead.

Report heap allocated variables checkbox

Report heap-allocated variables for which memory access strides are detected (enable).

Enabling could increase analysis overhead.

Enable CPU cache simulation checkbox

Model cache misses, cache misses and cache line utilization, or cache misses and loop footprint (enable and select desired options).

Enabling could increase analysis overhead.

Cache associativity drop-down list

Set the cache associativity for modeling CPU cache behavior. You can set the value to the following power-of-two integers: 1, 2, 4, 8, 16.

Cache sets drop-down list

Set the cache set size (in bytes) for modeling CPU cache behavior. You can set the value to the following power-of-two integers: 256, 512, 1024, 2048, 4096, 8192.

Cache line size drop-down list

Set the cache line size (in bytes) to model CPU cache behavior. You can set the value to the following power-of-two integers: 4, 8, 16, 32, …, up to 65536.

Cache simulation mode drop-down list

Set the focus for modeling CPU cache behavior:

  • Model cache misses only.

  • Model cache misses and memory footprint of a loop. Calculation: Cache line size x Number of unique cache lines accessed during simulation.

  • Model cache misses and cache line utilization.

Dependencies Analysis Properties

Use This

To Do This

Inherit settings from the Survey Hotspots Analysis Type checkbox

Copy similar settings from Survey analysis properties (enable).

When enabled, this option disables application parameters controls.

Suppression mode radio buttons

  • Report possible dependencies in system modules (choose the Show problems in system modules radio button).
  • Do not report possible dependencies in system modules (choose the Suppress problems in system modules radio button).

Loop call count limit selector

Choose the maximum number of instances each marked loop is analyzed. 0 = analyze all loop instances.

Supplying a non-zero value could decrease analysis overhead.

Instance of interest selector

Analyze the nth child process, where 1 = the first process of the specified name in the application process tree. 0 = analyze all processes.

Supplying a non-zero value could decrease analysis overhead.

Analyze stack variables checkbox

Analyze parallel data sharing for stack variables (enable).

Enabling could increase analysis overhead.

Filter stack variables by scope checkbox

Enable to report:

  • Variables initiated inside the loop as potential dependencies (warning)
  • Variables initialized outside the loop as dependencies (error)

Enabling could increase analysis overhead.

Reduction Detection / Filter reduction variables checkbox

Mark all potential reductions by a specific diagnostic (enable).

Enabling could increase analysis overhead.

Markup type checkbox

Select loops/functions by pre-defined markup algorithm. Supported algorithms are:

  • GPU generic - Select loops executed on a GPU.

  • OpenMP - Select OpenMP* loops.

  • SYCL - Select SYCL loops.

  • OpenCL - Select OpenCL™ loops.

  • DAAL - Select Intel® oneAPI Data Analytics Library loops.

  • TBB - Select Intel® oneAPI Threading Building Blocks loops.

NOTE:
This option is available only from the Analysis Workflow pane for the Offload Modeling perspective.