User Guide

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
    .

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
Enable SIMD directives.
Vectorization and Code Insights
CPU / Memory Roofline Insights
GPU Roofline Insights
Linux command line:
-simd
Windows* OS command line:
/Qsimd
Enable generation of multi-threaded code based on OpenMP* directives.
Vectorization and Code Insights
CPU / Memory Roofline Insights
GPU Roofline Insights
Linux* OS command line:
-qopenmp
Windows* OS command line:
/Qopenmp
Visual Studio* IDE:
C/C++
Language [Intel C++]
OpenMP Support
Generate Parallel Code (/Qopenmp)
Search additional directory related to
Intel Advisor
annotation definitions.
Primarily
Threading
, but could also be useful for refinement analyses
Linux* OS command line:
- I${ADVISOR_[product_year]_DIR}/include
Windows* OS command line:
/I"%ADVISOR_[product_year]_DIR%"\include
Visual Studio* IDE:
C/C++
General
Additional Include Directories
$(ADVISOR_[product_year]_DIR)\include;%(AdditionalIncludeDirectories)
Search for unresolved references in multithreaded, dynamically linked libraries.
Threading
only
Linux* OS command line:
-Bdynamic
Windows* OS command line:
/MD
or
/MDd
Visual Studio* IDE:
C/C++
Code Generation
Runtime Library
Mutithread
Enable dynamic loading.
Threading
only
Linux* OS command line:
-ldl

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
Enable generation of multi-threaded code based on OpenMP* directives.
Vectorization and Code Insights
CPU / Memory Roofline Insights
GPU Roofline Insights
Linux* OS command line:
-qopenmp
Visual Studio* IDE:
Fortran
Language
Process OpenMP Directives
Generate Parallel Code (/Qopenmp)
Search additional directory related to
Intel Advisor
annotation definitions.
Primarily
Threading
, but could also be useful for refinement analyses
Linux* OS command line:
  • -I${ADVISOR_[product_year]_DIR}/include/ia32
    or
    -I${ADVISOR_[product_year]_DIR}/include/ia64
  • -L${ADVISOR_[product_year]_DIR}/lib32
    or
    -L${ADVISOR_[product_year]_DIR}/lib64
  • -ladvisor
Windows* OS command line:
  • /I"%ADVISOR_[product_year]_DIR%"\include\ia32
    or
    /I"%ADVISOR_[product_year]_DIR%"\include\ia64
  • /L"%ADVISOR_[product_year]_DIR%"\lib32
    or
    /L"%ADVISOR_[product_year]_DIR%"\lib64
  • /ladvisor
    or
Visual Studio* IDE:
  • Fortran
    General
    Additional Include Directories
    "$(ADVISOR_[product_year]_DIR)\include\ia32\"
    or
    "$(ADVISOR_[product_year]_DIR)\include\ia64\"
  • Linker
    General
    Additional Library Directories
    "$(ADVISOR_[product_year]_DIR)\lib32"
    or
    "$(ADVISOR_[product_year]_DIR)\lib64"
  • Linker
    Input
    Additional Dependencies
    .lib
    libadvisor
Search for unresolved references in multithreaded, dynamically linked libraries.
Threading
only
Linux* OS command line:
-shared-intel
Windows* OS command line:
/MD
or
/MDd
Visual Studio* IDE:
Fortran
Libraries
Runtime Librarary
Multithread DLL (/libs:dll /threads)
or
Debug Multithread DLL (/libs:dll /threads /dbglibs)
Enable dynamic loading.
Threading
only
Linux* OS command line:
-ldl

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.