Optimize vectorization: Quickly find high-impact opportunities to speed up your application safely.

Get Started

Vectorize for Better Performance

Vectorization is the operation of Single Instruction Multiple Data (SIMD) instructions (like Intel® Advanced Vector Extensions and Intel® Advanced Vector Extensions 512) on multiple data objects in parallel within a single CPU core. This can greatly increase performance by reducing loop overhead and making better use of the multiple math units in each core.

  • Use Roofline Analysis to see performance "headroom" and to co-optimize memory and compute.
  • Find loops that will benefit the most from better vectorization.
  • Identify where it is safe to force compiler vectorization.

Key Features

Roofline Analysis1

Visualize actual performance against hardware-imposed performance ceilings (rooflines)—such as memory bandwidth and compute capacity—which provide an ideal roadmap of potential optimization steps. This analysis highlights loops that have the most headroom for improvement, allowing you to focus on areas that deliver the biggest performance payoff.

Use the Roofline chart to answer the key questions, including:

  • Does the application work optimally on current memory and compute resources?
  • If not, what bottlenecks are limiting performance?
  • What are the best candidates for optimization?

In addition to the floating point applications, integer applications—such as machine learning, big data domains, and database applications—can benefit from a Roofline analysis.

How to Use This Feature

graph of possible loops to optimize

In this illustration, loops A and G are good optimization candidates. B has room to improve but will have less impact. E, C, D, and H are poor choices.

chart that visualizes actual performance

A Roofline chart visually depicts an application's performance (dots) relative to the hardware limitations (lines).

Survey Report

Integrated compiler report data, performance data, and code-specific recommendations for fixing vectorization issues are provided in one place. Use this report to help identify:

  • Where vectorization will pay off the most.
  • How to improve the performance of vectorized loops.
  • Unvectorized loops, including how to vectorize them.

screenshot of the reporting U I

A survey summary for all loops. Click the light bulb for recommendations. Double-click a loop to see the source with compiler messages.

screenshot of the report data

The Survey report provides useful tips.

What Customers Are Saying

Learn About Additional Features