About Checking Performance Implications

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. Use this data to help you 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 overhead items are worth investigating.

You can run the Suitability tool:

  • Within Microsoft Visual Studio*. Use the Tools menu, Advisor XE 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 XE Workflow tab, or the toolbar icons after you open a project.

  • By clicking either the Collect Suitability Data or Start Paused button on the side command toolbar.

  • Using the advixe-cl command line. Specify the --collect option after you open a project.

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.

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.

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 (Maximum Site Gain) performance estimate and a site's contribution to the program's Maximum Program Gain.

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 medium-large targets, consider reading the help topic Minimizing Data Collection, Result Size, and Execution Time for the Suitability Tool.

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