Visible to Intel only — GUID: GUID-B878EBEE-B8F1-44DE-A785-BC38681C4811
Visible to Intel only — GUID: GUID-B878EBEE-B8F1-44DE-A785-BC38681C4811
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:
Microsoft Visual Studio* IDE:
|
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:
Visual Studio* IDE:
|
Disable interprocedural optimizations that may inhibit the ability of Intel® Advisor to collect performance data. For Intel® oneAPI DPC++/C++ Compiler only. |
Offload Modeling |
Linux* OS command line: -no-ipo Windows* OS command line: /Qipo- |
Produce compiler diagnostics (optional) |
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:
Visual Studio* IDE:
|
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:
Visual Studio* IDE:
|
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:
Windows* OS command line:
Visual Studio* IDE:
|
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 |