Intel® Advisor XE 2016 provides two tools to help ensure your Fortran and native/managed C++ applications take full performance advantage of today’s processors:
- Vectorization Advisor is a vectorization analysis tool that lets you identify loops that will benefit most from vectorization, identify what is blocking effective vectorization, explore the benefit of alternative data reorganizations, and increase the confidence that vectorization is safe.
- Threading Advisor is a threading design and prototyping tool that lets you analyze, design, tune, and check threading design options without disrupting your normal development.
One of the key Vectorization Advisor features is a Survey Report that offers integrated compiler report data and performance data all in one place, including GUI-embedded advice on how to fix vectorization issues specific to your code. This page augments that GUI-embedded advice with links to web-based vectorization resources.
Contents
Getting Started Landing Pages Compiler Diagnostics OpenMP* Resources Compiler User Guides See Also
Getting Started With Intel® Advisor XE
Use the following resources to start taking advantage of the power and flexibility of the Intel Advisor XE:
Recommendation: Follow these SIMD Parallelism workflows (usage scenarios) to maximize your productivity as quickly as possible. (White polygons represent optional workflow steps.)
Intel® Developer Zone Landing Pages
The Intel® Developer Zone offers a wealth of vectorization resources. The following landing pages are an easy way to find vectorization resources of interest.
- Programming and Compiling for Intel® Many Integrated Core Architecture
- Vectorization Essentials for Intel® Many Integrated Core Architecture
- Explicit Vector Programming - Best Known Methods
- Intel Vectorization Tools
NOTE:
- Some of these resources emphasize the vectorization capabilities of other Intel software development tools, such the Intel compiler vec and opt reports and the Intel® VTune™ Amplifier XE hotspot analyses. Nevertheless, these resources include nuggets of vectorization information useful to Intel Advisor XE users.
- Many resources are written to support the current Intel compiler version plus two previous versions. Much of the content in compiler resources written for a previous Intel compiler version still applies to the current Intel compiler version; in most cases, version differences are explained.
Intel Compiler Diagnostic Messages
The Vectorization Advisor requires the Intel Compiler version 15.0 or later to collect a full set of analysis data, including compiler diagnostics about vectorization constraints. The following links provide more information about these compiler diagnostics:
- New Vectorization Diagnostics starting from Intel C++ Compiler 15.0
- Vectorization Diagnostics for Intel C++ Compiler 14.0 or below
- New Vectorization Diagnostics starting from Intel Fortran Compiler 15.0
- Vectorization Diagnostics for Intel Fortran Compiler 14.0
NOTE: A subset of metrics is available for binaries built with the GCC* or Microsoft* compiler.
OpenMP* 4.0 Resources
The following resources are helpful if you are using the OpenMP* parallel framework in your application:
- Enabling SIMD in program using OpenMP 4.0
- OpenMP* 4.0 Features in Intel Compiler 15.0
- Performance Essentials with OpenMP 4.0 Vectorization
- Updated Support for OpenMP* 4.0 features added in Composer XE 2013 SP1
Intel Compiler User & Reference Guides
The Intel Advisor XE ships with a C++ mini-guide and a Fortran mini-guide of vectorization-related, Intel compiler 16.0 options and directives. These mini-guides are composed of excerpted pages from the full Intel compiler user and reference guides. The following links provide more information about Intel compilers:
- Intel C++ Compiler XE 16.0 User and Reference Guides
- Intel Fortran Compiler XE 16.0 User and Reference Guides
- User Guide and Reference for the Intel C++ Compiler 15.0
- User Guide and Reference for the Intel Fortran Compiler 15.0
See Also
Many Intel Advisor XE users find these additional resources helpful:
- 3D Finite Differences on Multi-core Processors
- Common Vectorization Tips
- Consistency of Floating-Point Results using the Intel® Compiler
- Data Alignment to Assist Vectorization
- Differences in Floating-Point Arithmetic Between Intel® Xeon® Processors and the Intel® Xeon Phi™ Coprocessor
- Explicit Vector Programming in Fortran
- Getting Started with Intel Compiler Pragmas and Directives
- Pointer Aliasing and Vectorization (PDF)
- Program Optimization through Loop Vectorization
- Requirements for Vectorizing Loops with #pragma SIMD
- Outer Loop Vectorization
- Utilizing Full Vectors and Use of Option -qopt-assume-safe-padding