User Guide

Contents

Before You Begin

This section contains steps you should perform before you begin running analyses on your application with
Intel® Advisor
or
Intel® Advisor Beta
.
  • 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 Tool
Optimal C/C++ Settings
Request full debug information (compiler and linker).
Vectorization Advisor
Threading Advisor
Offload Advisor
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 Advisor
Threading Advisor
Offload Advisor
Linux* OS command line:
-O2
or higher
Windows* OS command line:
  • /O2
    or higher
  • /Ob1
    (
    Threading Advisor
    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 Advisor
    only)
Disable interprocedural optimizations that may inhibit the ability of
Intel® Advisor Beta
to collect performance data.
For
Intel® C++ Compiler Classic
only.
Offload Advisor
only
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 Advisor
only
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 Advisor
only
Linux* OS command line:
-vec
Windows* OS command line:
/Qvec
Enable SIMD directives.
Vectorization Advisor
only
Linux command line:
-simd
Windows* OS command line:
/Qsimd
Enable generation of multi-threaded code based on OpenMP* directives.
Vectorization Advisor
only
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 Advisor
, but could also be useful for
Vectorization Advisor
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 Advisor
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 Advisor
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 Advisor
Threading Advisor
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 Advisor
Threading Advisor
Linux* OS command line:
-O2
or higher
Windows* OS command line:
  • /O2
    or higher
  • /Ob1
    (
    Threading Advisor
    only)
Visual Studio* IDE:
  • Fortran
    Optimization
    Optimization
    Maximize Speed
    or higher
  • Fortran
    Optimization
    Inline Function Expansion
    Only INLINE directive (/Ob1)
    (
    Threading Advisor
    only)
Produce compiler diagnostics (necessary for version 15.0 of the
Intel® Fortran Compiler Classic
; unnecessary for version 16.0 and higher).
Vectorization Advisor
only
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 Advisor
only
Linux* OS command line:
-vec
Windows* OS command line:
/Qvec
Enable SIMD directives.
Vectorization Advisor
only
Linux* OS command line:
-simd
Windows* OS command line:
/Qsimd
Enable generation of multi-threaded code based on OpenMP* directives.
Vectorization Advisor
only
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 Advisor
, but could also be useful for
Vectorization Advisor
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 Advisor
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 Advisor
only
Linux* OS command line:
-ldl

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804