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.

Note

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.

Note

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™ Amplifier to obtain more accurate performance data as well as tune your parallel program. Because Intel® VTune™ Amplifier observes the program running in parallel, it can provide more accurate performance information than the Suitability tool's estimates.

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