Discover Parallel Opportunities

To locate code regions that consume a significant amount of the program's run time, use the Survey tool to profile your running program. To do this:

Display the Advisor XE Workflow

The Advisor XE Workflow helps guide you through the steps in the workflow.

To display the Advisor XE Workflow, do one of the following:

  • In the toolbar, click the Open Advisor XE Workflow icon.

  • In the Visual Studio, click View > Intel Advisor XE 2013 > Open Advisor XE Workflow

  • In the Intel Advisor Standalone GUI, click File > View > Open Advisor XE Workflow

Each step in the Advisor XE Workflow contains instructions, which include relevant links to the Intel Advisor help. To view the steps below the 2. Annotate Sources and 5. Add Parallel Framework instructions, click the icon.

In the Advisor XE Workflow, follow the steps from top-to-bottom.


Advisor XE Workflow

The Advisor XE Workflow tab presents a high-level version of the full Intel Advisor workflow shown in the Intel Advisor help.

Run the Survey Tool

To run the Survey tool, do one of the following:

  • In the Advisor XE Workflow, click the Start the Survey toolCollect Survey Data button below 1. Survey Target.

  • In the Survey Report window, click the Start the Survey toolCollect Survey Data or the Start Paused button on the side command toolbar. To hide or show the command toolbar, click the Hide side command toolbar or Show side command toolbar button in the upper-right of the Survey Report.

  • In the Visual Studio, click the Start the Survey tool icon in the Tools > Intel Advisor XE 2013 menu or the Intel Advisor toolbar.

Note

This tutorial explains how to use Intel Advisor tools from the Visual Studio IDE or the Intel Advisor graphical user interface (GUI). You can also use the Intel Advisor command-line interface (advixe-cl command) to run a tool analysis.

While the Survey tool runs your program, or if the selected project contains no Survey data, the Survey Report command toolbar appears. For example, immediately after you click the Collect Survey Data button, it appears on the right of the result tab:


Survey Report window during data collection

Command output appears while the Survey tool runs your program to collect data and analyze its run-time performance characteristics. After the Survey tool successfully completes its analysis, the Survey Report appears.

To minimize the analysis scope to specific places of interest in a large application, see the Intel Advisor help topic: Discovering Parallel Opportunities > Minimizing Data Collection, Result Size, and Execution Time (Survey).

To redirect application non-GUI output to the Application Output pane (shown above) instead of a command window, use the Options dialog box.

The collected Survey data appears in the Survey Report and Summary windows:


Survey Report window after analysis has completed

When the Survey Report window first appears, an informational help tip appears. To close it, click the icon in its upper-right corner. To hide or show the command toolbar, click the Hide side command toolbar or Show side command toolbar button in the upper-right of the Survey Report.

The result tab displays data collected by the various Intel Advisor tools for the selected project. The result name 1_nqueens_Advisor - e035 appears near the top of the result tab shown above.

The Survey Report window provides a top-down view of an expanded call graph with loops. The function setQueen() calls itself recursively, so it appears multiple times in the Function Call Sites and Loops column, along with its loops ( icon). The command toolbar shows the Start Paused button below Collect Survey Data.

Loops are often the most time-consuming (hot) parts of your program. The Survey Report identifies the most time-consuming loops with the icon in the Hot Loops column. Such loops are candidates for parallel tasks. The top time-consuming (hot) loop is within the setQueen() function, which is called from the solve() function.

You can also look at the values in the Total Time and the Self Time columns, to see that the setQueen() function is where this program spends most of its time. Click the icon next to a function or loop's name to see the functions or loops it calls. You have just identified the hot part of the call graph in the sample program, the setQueen() function.

The top of the Survey Report window provides a small toolbar to help you quickly locate the next or previous hot loop, and view sources in the Survey Source window.

In the result tab, click the Summary (left-most) button to display the Summary window:


Summary window after Survey tool data collection completes

To help you quickly identify possible loops where you might add parallelism, the top time-consuming loops and their CPU time appear under Top time-consuming loops. These loops are also identified in the Hot Loops column in the Survey Report.

Click the link under Source Location to view the time-consuming loop code, which is located within the solve() function.

As you run (and re-run) Intel Advisor tools, more data gets added to this dashboard-like Summary window. It provides easy access to detailed data in the report windows, your sources, and collection details. For example, if you click the link for the solve() function, the Survey Report window appears.

The Summary window also displays a count of annotations found and source files searched. In this case, the sources do not yet contain Intel Advisor source annotations.

Key Terms

hotspot

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