Build Target Application
Build Target Application
This section contains steps you should do before you begin running analyses on your application with
. Do the following:
Intel® Advisor
- Build an optimized binary of your application inreleasemode 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® AdvisorTo analyze an application with theIntel® 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 aNo data is collectederror.
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® C++ Compiler Classic /
Intel® oneAPI
only.
DPC++/C++ Compiler | 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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
or
|
Enable dynamic loading.
| Threading only
| Linux* OS command line:
-ldl |