User Guide

Contents

Intel® Advisor Beta
:
Offload Advisor

Intel® Advisor Beta
is an extended
Intel® Advisor
: a code modernization, programming guidance, and performance estimation tool that supports the DPC++ language and OpenMP* on CPU and GPU. It provides co-design, performance modeling, analysis, and characterization features for industry-size applications (in C, C++, Fortran, and mixed Python*).
Specifically,
Intel® Advisor Beta
includes
Offload Advisor
, a tool that allows you to collect performance predictor data in addition to the profiling capabilities of
Intel Advisor
. Use
Offload Advisor
to determine what code can be offloaded to a target device (for example, to a GPU), accelerating the performance of your CPU-based application.
This section explains how to work with the
Offload Advisor
tool from the
Intel® Advisor Beta
command-line interface. To run the
Offload Advisor
analysis from the GUI (
technical preview
), set the
ADVIXE_EXPERIMENTAL
=beta_gui
variable. For more information, see
Intel® Advisor
User Guide
(PDF).
Offload Advisor
provides metrics and performance data such as projected speedup, a call tree showing offloaded and accelerated regions, and more. It takes into account not only compute and memory limitations, but the time required to transfer data if the code is offloaded.
Follow these steps to set up, use, and interpret results using the
Offload Advisor
. If you would like to skip to a specific step, click the corresponding link:
  1. (Optional) Once your application includes code that has been offloaded to the target device, you can use
    Intel Advisor
    to view a Roofline chart of the GPU code. For steps, see Identify GPU Performance Bottlenecks Using GPU Roofline.
As an extended
Intel Advisor
,
Intel® Advisor Beta
includes the
Vectorization Advisor
,
Threading Advisor
, and
Flow Graph Analyzer
tools.
  • Vectorization Advisor
    is a vectorization optimization tool that lets you identify high-impact, under-optimized loops, what is blocking vectorization, and where it is safe to force vectorization. It also provides code-specific how-can-I-fix-this-issue recommendations.
  • Roofline Analysis
    visualizes actual performance against hardware-imposed performance ceilings (rooflines). It provides insights into where the bottlenecks are, which loops are worth optimizing for performance, what are the likely causes of bottlenecks and what should be the next optimization steps.
  • Threading Advisor
    is a fast-track threading design and prototyping tool that lets you analyze, design, tune, and check threading design options without disrupting your normal development.
  • Flow Graph Analyzer
    is a visual prototyping tool that lets you represent and analyze performance for applications that use the Intel® Threading Building Blocks (Intel® TBB) flow graph interfaces.
  • Offload Advisor
    (
    Intel® Advisor Beta
    only) allows you to identify high-impact opportunities to offload to a target device as well as the areas that are not advantageous to offload. It provides performance speedup projection on target devices along with offload overhead estimation and pinpoints performance bottlenecks.
For details about
Vectorization Advisor
and
Threading Advisor
, see the Workflows section. For details about
Flow Graph Analyzer
, see the Flow Graph Analyzer User Guide.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804