Intel® Advisor Tutorial: Add Efficient SIMD Parallelism to C++ Code Using the Vectorization Advisor

  • Intel® Parallel Studio XE Professional Edition

  • Intel® Parallel Studio XE Cluster Edition

Intel® Advisor provides two tools to help ensure your Fortran, C and C++ applications realize full performance potential on modern processors, such as Intel® Xeon Phi™ processors:

  • Vectorization Advisor is a vectorization optimization 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.

This tutorial - and C++ sample application you can use to follow along - show how to use the Vectorization Advisor on a Linux* platform to add efficient SIMD parallelism.

About This Tutorial

This tutorial shows how to:

  • Identify loops that will benefit most from vectorization.

  • Identify what is blocking effective vectorization.

  • Increase the confidence that vectorization is safe.

  • Explore the benefit of alternative data reorganizations.

It was last updated for the 2018 product release. Compilations and analyses were run using a 2018 version of an Intel compiler on an Intel® Core™ i7-6600U with 4 logical CPUs.

Estimated Duration

15-20 minutes.

Learning Objectives

After you complete this tutorial, you should be able to:

  • Explain two recommended Vectorization Advisor workflows (usage scenarios).
  • Identify compiler/linker options that produce the most accurate and complete Vectorization Advisor analysis results.

  • Run Vectorization Advisor analysis tools.

  • View, interpret, and manipulate data collected by Vectorization Advisor analysis tools.

More Resources

The concepts and procedures in this tutorial apply regardless of programming language; however, a similar tutorial using a sample application in another programming language may be available at Intel® Advisor Tutorials.

The following sites also offer tutorials for other Intel products.

In addition, you can find more resources in:

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