User Guide

Contents

Suitability Analysis

The
Intel® Advisor
Suitability tool runs your annotated serial program's executable (target). It measures the target executable and uses your annotated parallel sites to predict (estimate) its approximate parallel performance characteristics.
The Suitability tool is available in the Threading Workflow only. Use the button to switch to the Threading Workflow.
Use data collected by the Suitability tool to understand:
  • The likely performance gains from parallelism based on the inserted annotations and the specified number of available cores.
  • The potential effects of parallel overhead, including which parallel frameworks are worth investigating.
  • The impact of changing the number of iterations and the iteration duration on performance of the selected site.

Running the Suitability Tool

You can run the Suitability tool:
  • Within Microsoft Visual Studio*. Use the
    Tools
    menu,
    Advisor Workflow
    tab, or the toolbar icons (see Using the Menu Items and Toolbars).
  • Within the
    Intel Advisor
    standalone
    GUI. Use the
    Tools
    menu, the
    Advisor Workflow
    tab, or the toolbar icons after you open a project.
  • Using the
    advixe-cl
    command line. Specify the
    --collect option
    after you open a project.

Viewing the Suitability Report

Similarly, you can view the collected data in the
Suitability Report
and related windows by using
Visual Studio,
the standalone GUI
,
or the command line.

Why do I need to Collect the Suitability Data?

Use the Suitability tool to help you minimize the effort you spend locating areas where parallelism may not be worthwhile, such as creating a parallel site whose parallel overhead would outweigh any performance gains. As you refine and adjust your parallel site and task annotations, run this tool again to see how these changes impact the predicted performance characteristics. Later, after you fix data sharing problems, run the Suitability tool again to view the modified program's predicted performance.
The Suitability tool eliminates the need for you to manually time and/or calculate such items as the total parallel site time, total task time for each task, average number of tasks per site, the number of task executions, and the expected maximum gain. It does the measurements and calculations for you, providing you with predicted summary data, such as how much CPU time each parallel site uses and the site maximum gain.
The maximum possible gain for a perfectly parallelized program on a 2-core system is 2.0, so the program would run in half the time. Possible gains on a system with
N
cores might be any of the following:
  • Typical values are from 1.0 to
    N
    , where 1.0 means the parallel program only runs as fast as the serial program, and
    N
    is the ideal case of perfect parallelism.
  • Values less than 1.0 indicate that the parallel program spends more time doing parallel overhead work than it gains from parallelism. That is, the serial program runs faster than the parallel program.

What Else do I need to Know About the Suitability Tool?

When you run the Suitability tool, your program will take longer to run than normal because the Suitability tool needs to sample and measure the characteristics of your program's parallel sites and tasks.
The analyzed data appears in the
Suitability Report
window. Use this window to view the predicted performance for the annotated parallel sites and their tasks. You can change the mathematical modeling parameters - such as the CPU count - and view the impact of these changes on the site's maximum gain (
Site Gain
) performance estimate and a site's contribution to the program's
Maximum Program Gain for All Sites
.
The Suitability tool
estimates
the behavior of your parallel program using the observed behavior of your annotated serial program. It does not consider specific processor characteristics. Thus, although it can provide approximate predictions to help you choose parallel code regions, it cannot provide exact predictions of your parallel program. After you have modified your program to run in parallel, use
Intel® VTune™
Profiler
to obtain more accurate performance data as well as tune your parallel program. Because
Intel VTune
Profiler
observes the program running in parallel, it can provide more accurate performance information than the Suitability tool's estimates.

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