Viewing Data from the Suitability Tool

The Suitability tool examines your running serial program to provide approximate estimated performance characteristics of your annotated parallel sites. This shows you both the performance gain from running your parallel program on multiple CPUs and the likely impact of parallel overhead.

To choose the best places to add parallelism, locate the parallel sites that contribute the most to the overall program's gain. Because of the overhead of parallel execution - such as starting threads - certain parallel sites and tasks may not contribute to the overall program's gain, or may slow down its performance. After you identify such parallel sites or tasks that do not improve performance, either modify or eliminate their annotations.

Using the Suitability Report Window

After you run the Suitability tool, view its data in the Suitability Report window. This window contains three panes:

  • All Sites pane: for all parallel sites, displays data such as Self Time, Average Time, variations of the timing samples, and a Label. Any annotation-related error the Suitability tool detects appears above the All Sites pane. If you see such errors, the displayed Suitability data may not be reliable. To view the source location associated with an error, click the button. To fix the error, read the displayed error message, modify your source code to fix the problem, rebuild your target executable, and run Suitability tool analysis again.

  • Selected Site pane: for the selected site (under All Sites), displays details about the site, such as the type of Annotation, Source file where it is located, Self Time, Average Time. This pane shows the tasks within the parallel site.

  • Scalability of Maximum Site Gain graph in the Selected Site pane.

When using the active result, you can change the modeling parameters such as the number of CPUs and view the impact of these changes on the Maximum Site Gain column. Specify the number of CPUs that will be available on the target system. You can select a specific Threading Model to improve the estimate of the execution overhead using your annotations., or use the generic entry Other whose large overhead coefficients magnify the overhead that may be caused by the annotations. When using a read-only result snapshot, you cannot change the modeling parameters.

These modeling parameters help you understand the sensitivity of your annotation choices, and is not an accurate estimate of final execution time on parallel hardware.

Later, before you add parallel code, you must choose one parallel framework (threading model) for your application (see the help topic Overview of Parallel Frameworks).

To view the source code associated with a site or task, either:

  • Double-click a row (or right-click and select View Source from the context menu) in the All Sites or Selected Site pane to display the Suitability Source window. Later, to return to the Suitability Report window, click Suitability Report.

  • Right-click a row and select Edit Source from the context menu to display the corresponding source file in a code editor. When using Visual Studio, the Visual Studio code editor appears with the file open at the corresponding location. When using the Intel Advisor GUI, the file type association (or Open With dialog box) determines the editor used. Later, to return to the Suitability Report or Suitability Source window:

    1. Click the Result tab.

    2. Click either Suitability Report or Suitability Source.

To the right of the Scalability of Maximum Site Gain graph in the Selected Site pane are items related to parallel overhead and task chunking. Under the Recommended column, if you see the word Yes, there is a benefit for that item. When using the active result for this case, you should select the check box to indicate that you agree to take the appropriate action later when you change annotations into parallel framework code. The Maximum Site Gain and the graph will show your modified assumptions about overhead or task chunking.

Using the Suitability Source Window

Within the Suitability Source window, you can:

  • Use the Call Stack pane to view different source locations in the call stack.

  • Double-click a line (or right-click and select Edit Source) to open the corresponding source file in a code editor. When using Visual Studio, the Visual Studio code editor appears with the file open at the corresponding location. When using the Intel Advisor GUI, the file type association (or Open With dialog box) determines the editor used. Later, to return to the Result tab, click Result .

  • Return to the Suitability Report window by clicking Suitability Report.

The Suitability Report , Suitability Source, and other Intel Advisor windows appear within the Result tab. There is one Result tab for each startup project.

Tips on Understanding the Performance Data

In the Suitability Report window, you start at the top, select a site, look at its details in the Selected Site pane, and examine its source code. You repeat this process to investigate each annotated site. View this information, and if needed, modify the annotations by using your code editor.

Use the following guidelines to evaluate the feasibility of each site:

  • If the Maximum Site Gain values for the selected site shows an estimated performance gain of 1.0 or less, the overhead of parallel thread execution exceeds the potential performance gains. Modify or remove the annotations for the task(s) and its enclosing site. Repeat this for each parallel site.

  • If the Maximum Site Gain values for the selected site shows a performance gain greater than 1.0, look at the site's contribution to the Maximum Program Gain for All Sites. For sites that do not contribute significantly to the Maximum Program Gain for All Sites, modify or remove the annotations for the task(s) and its enclosing site. For sites that only contribute slightly to the Maximum Program Gain for All Sites, examine more closely the annotations and the assumptions about fixing the various overhead costs of parallel thread execution. In some cases, you may be able to adjust the annotations to improve the performance gain or reduce the overhead. Repeat this for each parallel site.

  • When the Maximum Program Gain for All Sites for the program and the Maximum Site Gain values for all the sites show a moderate or significant performance gain, proceed to the next workflow step that uses the Correctness tool to check your remaining annotated sites for data sharing problems.

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