Intel® Advisor User Guide

ID 766448
Date 7/13/2023
Public

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

Document Table of Contents

Build Target Application

This section contains steps you should do before you begin running analyses on your application with Intel® Advisor. Do the following:

  • Build an optimized binary of your application in release mode using settings designed to produce the most accurate and complete analysis results.

  • Verify the resulting executable runs before trying to analyze it with the Intel® Advisor.

    IMPORTANT:
    To analyze an application with the Intel® Advisor, the application should take longer than 500 milliseconds to execute on CPU or GPU. If your application execution time is lower, it might cause inaccurate data sampling or a No data is collected error.

Optimal C/C++ Settings

To Do This

For This

Optimal C/C++ Settings

Request full debug information (compiler and linker).

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Offload Modeling

Threading

Linux* OS command line: -g

Windows* OS command line:

  • /ZI

  • /DEBUG

Microsoft Visual Studio* IDE:

  • C/C++ > General > Debug Information Format > Program Database (/Zi)

  • Linker > Debugging > Generate Debug Info > Yes (/DEBUG)

Request moderate optimization.

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Threading

Offload Modeling

Linux* OS command line: -O2 or higher

Windows* OS command line:

  • /O2 or higher

  • /Ob1 (Threading only)

Visual Studio* IDE:

  • C/C++ > Optimization > Optimization > Maximum Optimization (Favor Speed) (/O2) or higher

  • C/C++ > Optimization > Inline Function Expansion > Only_inline (/Ob1) (Threading only)

Disable interprocedural optimizations that may inhibit the ability of Intel® Advisor to collect performance data.

For Intel® C++ Compiler Classic / Intel® oneAPI DPC++/C++ Compiler only.

Offload Modeling

Linux* OS command line: -no-ipo

Windows* OS command line: /Qipo-

Produce compiler diagnostics (necessary for version 15.0 of the Intel® C++ Compiler Classic; unnecessary for version 16.0 and higher).

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Linux* OS command line: -qopt-report=5

Windows* OS command line: /Qopt-report:5

Visual Studio* IDE: C/C++ > Diagnostics [Intel C++] > Optimization Diagnostic Level > Level 5 (/Qopt-report:5)

Enable vectorization.

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Linux* OS command line: -vec

Windows* OS command line: /Qvec

Optimal Fortran Settings

To Do This

For This Tool

Optimal Fortran Settings

Request full debug information (compiler and linker).

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Threading

Linux* OS command line: -g

Windows* OS command line:

  • /debug=full

  • /DEBUG

Visual Studio* IDE:

  • Fortran > General > Debug Information Format > Full (/debug=full)

  • Linker > Debugging > Generate Debug Info > Yes (/DEBUG)

Request moderate optimization.

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Threading

Linux* OS command line: -O2 or higher

Windows* OS command line:

  • /O2 or higher

  • /Ob1 (Threading only)

Visual Studio* IDE:

  • Fortran > Optimization > Optimization > Maximize Speed or higher

  • Fortran > Optimization > Inline Function Expansion > Only INLINE directive (/Ob1) (Threading only)

Produce compiler diagnostics (necessary for version 15.0 of the Intel® Fortran Compiler Classic; unnecessary for version 16.0 and higher).

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Linux* OS command line: -qopt-report=5

Windows* OS command line: /Qopt-report:5

Visual Studio* IDE: Fortran > Diagnostics > Optimization Diagnostic Level > Level 5 (/Qopt-report:5)

Enable vectorization.

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Linux* OS command line: -vec

Windows* OS command line: /Qvec

Enable SIMD directives.

Vectorization and Code Insights

CPU / Memory Roofline Insights

GPU Roofline Insights

Linux* OS command line: -simd

Windows* OS command line: /Qsimd