User Guide

Contents

Tutorials

Intel® Advisor
provides tutorials with step-by-step instructions on analyzing performance of applications with sample code.

Use the Automated Roofline Chart to Make Optimization Decisions - C++ Sample

Windows* OS Tutorial
: HTML
Sample
: Download
roofline_demo_samples
sample. You can download source code or pre-collected results to save time.
Duration
: 20 minutes (with pre-collected results)
Learning Objective
: Use the Roofline chart to answer the following questions:
  • What is the maximum achievable performance with your current hardware resources?
  • Does your application work optimally on current hardware resources?
  • If not, what are the best candidates for optimization?
  • Is memory bandwidth or compute capacity limiting performance for each optimization candidate?

Add Efficient SIMD Parallelism to Code Using the Vectorization Advisor - C++ Sample

Windows* OS Tutorial
: HTML
Linux* OS Tutorial
: HTML
Sample
:
<install-dir>
/samples/en/C++/vec_samples
Duration
: 20 minutes
Learning Objective
: Use Vectorization report 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.

Find Where to Add Parallelism to Code Using the Threading Advisor - C++ Sample

Windows* OS Tutorial
: HTML
Linux* OS Tutorial
: HTML
Sample
:
<install-dir>
/samples/en/C++/nqueens_Advisor
Duration
: 20 minutes
Learning Objective
: Demonstrates an end-to-end workflow you can ultimately apply to your own applications:
  1. Survey the target executable to locate the loops and functions where your application spends the most time.
  2. In the target sources, add
    Intel Advisor
    annotations to mark possible parallel tasks and their enclosing parallel sites.
  3. Check Suitability to predict the maximum parallel performance speedup of the target based on these annotations.
  4. Check Dependencies to predict parallel data sharing problems in the target based on these annotations.
  5. If the predicted maximum speedup benefit is worth the effort to fix the predicted parallel data sharing problems, fix the problems.
  6. Recheck Suitability to see how your fixes impact the predicted maximum speedup.
  7. If the predicted maximum speedup benefit is still worth the effort to add parallelism to the target, replace the annotations with parallel framework code that enables parallel execution.
  • Sample applications are non-deterministic.
  • Sample applications are designed only to illustrate the
    Intel Advisor
    features and do not represent best practices for creating and optimizing code.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.