Intel® Advisor provides design tools to help ensure your C/C++, Fortran, Data Parallel C++, OpenMP*, and OpenCL™ native/managed applications realize full performance potential on modern processors: Vectorization Advisor, Roofline analysis, Threading Advisor, Offload Advisor, and Flow Graph Analyzer.
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.
One of the key Vectorization Advisor features is 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.
Get Started With Vectorization Using Intel® Advisor
Use the following resources to start taking advantage of the power and flexibility of the Intel Advisor:
For detailed description and steps of the Vectorization workflow of the Intel Advisor, see the User Guide: Vectorization and Code Insights perspective.
Recommendation: Follow the dark blue and orange workflows (usage scenarios) to maximize your productivity as quickly as possible.
Intel Compiler Resources
The Intel Advisor ships with C++ and Fortran mini-guides of vectorization-related Intel compiler options and directives. These mini-guides are composed of excerpted pages from the full Intel compiler guides. The Vectorization Advisor requires the Intel® C++ Compiler Classic or Intel® Fortran Compiler Classic version 15.0 or later or Intel® oneAPI DPC++/C++ Compiler to collect a full set of analysis data, including compiler diagnostics about vectorization constraints. The full compiler guides and vectorization diagnostics can be found below:
Compiler Guides & References
NOTE: A subset of metrics is available for binaries built with the GNU gcc* or Microsoft* compiler.
The following resources are helpful if you are using the MPI.
- User Guide: Analyze MPI Applications
- Cookbook Use Case: Analyze Vectorization and Memory Aspects of an MPI Application
- Article: Analyzing Intel® MPI applications using Intel® Advisor
Consider these resources if case studies interest you.
- Analyzing GTC-P APEX code using Intel® Advisor on an Intel® Xeon Phi™ processor
- More Efficient Numerical Simulation [PDF]
- Case Study: More Efficient Numerical Simulation in Astrophysics
- Roofline Model Boosts Manycore Code Optimization Efforts
- Vectorization Becomes Important - Again
The Intel® Developer Zone offers a wealth of vectorization resources. Many Advisor users find the following pages useful, either as context-rich repositories of links to resources or how-to guides.
Link List Resources
These resources contain both information about vectorization and many links to appropriate additional resources. Note that some of these emphasize the vectorization capabilities of other Intel software development tools such as the compiler optimization reports and Intel® VTune™ Amplifier analyses; despite the different focus, they contain useful nuggets of vectorization information that apply across the board.
Also note that 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.
- Explicit Vector Programming - Best Known Methods
- Programming and Compiling for Intel® Many Integrated Core Architecture
- Vectorization Essentials for Intel® Many Integrated Core Architecture
The many miscellaneous articles and resources for vectorization available on the Intel Developer Zone are gathered here for your convenience.
- Common Vectorization Tips
- Consistency of Floating-Point Results using the Intel® Compiler
- Data Alignment to Assist Vectorization
- Explicit Vector Programming in Fortran
- Getting Started with Intel Compiler Pragmas and Directives
- Intel Intrinsics Guide
- Outer Loop Vectorization
- Program Optimization through Loop Vectorization
- Utilizing Full Vectors and Use of Option -qopt-assume-safe-padding
- Vectorization Codebook [PDF]
Notices and Disclaimers
Intel technologies may require enabled hardware, software or service activation.
No product or component can be absolutely secure.
Your costs and results may vary.
© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.
Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
Product and Performance Information
Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.