Vectorization Resources for Intel® Advisor Users

Intel® Advisor provides two design tools to help ensure your Fortran, C and C++ native/managed applications realize full performance potential on modern processors, such as Intel® Xeon® and Intel® Xeon Phi™ 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 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.

Getting Started With Intel® Advisor

Use the following resources to start taking advantage of the power and flexibility of the Intel Advisor:

Getting Started Guide Vectorization Glossary Support & Forums Training

Recommendation: Follow the dark blue and orange workflows (usage scenarios) to maximize your productivity as quickly as possible. 

Intel Advisor Workflows

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 Compiler version 15.0 or later 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

  • Intel C/C++ Compiler:19.0  
  • Intel Fortran Compiler:19.0 

Vectorization Diagnostics

NOTE: A subset of metrics is available for binaries built with the GNU gcc* or Microsoft* compiler.

Roofline Resources

The following resources are helpful if you are using the roofline analysis to visualize actual performance against hardware-imposed performance ceilings, as well as determine the main limiting factor (memory bandwidth or compute capacity), thereby providing an ideal roadmap of potential optimization steps.

Roofline Resources

OpenMP* and MPI Resources

The following resources are helpful if you are using the OpenMP* parallel framework or MPI.

OpenMP* and MPI Resources

Case Studies

Consider these resources if case studies interest you.

Case Studies

Additional Resources

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.

How-To Resources

The many miscellaneous articles and resources for vectorization available on the Intel Developer Zone are gathered here for your convenience.

Legal Information

Intel, the Intel logo, Intel Xeon Phi, VTune, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

* Other names and brands may be claimed as the property of others.

Copyright 2015-2019 Intel Corporation.

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

For more complete information about compiler optimizations, see our Optimization Notice.