Survey Analysis

Purpose and Usage | Prerequisites | Run | Controls | Data Reference | What Do I Do Next?

Survey Analysis Purpose and Usage

Run a Survey analysis to generate a Survey Report that identifies:

  • Where vectorization, or parallelization with threads, will pay off the most

  • If vectorized loops are providing benefit, and if not, why not

  • Un-vectorized loops and why they are not vectorized

  • Performance problems in general

Survey Analysis Prerequisites

To prepare to run a Survey analysis:

  1. Do one of the following to open the Analysis Target tab in the Project Properties dialog box:

    • In the Intel Advisor GUI, choose Project > Project Properties…

    • In the Visual Studio IDE, choose Project > Intel Advisor 201n Project Properties….

  2. Choose the Survey Hotspots Analysis type, then choose the input data set or runtime parameters for your target application. If you want to speed up your target application generally, you can use typical input data. However, if you want to improve performance on specific, slow operations, choose input data to emphasize these slow operations. After you prepare appropriate input data, configure your target application with the chosen data.

Tip

  • If you plan to run Refinement Reports, set parameters at the same time you set parameters for the Survey Hotspots Analysis and Survey Trip Count Analysis types. If possible, use the Inherit settings from Survey Hotspots Analysis Type checkbox for other Analysis Types.

  • Setting search directories in the Binary/Symbol Search tab and Source Search tabs is optional for the Vectorization Advisor.

  • Choose the optimal compiler settings. The most up-to-date settings are in Getting Started with Intel® Advisor.

Run a Survey Analysis

To run a Survey analysis, do one of the following:

  • In the Vectorization Workflow tab, click the Intel Advisor control: Run analysis button under Survey Target.

  • In the Visual Studio Solution Explorer, right-click the project, then choose Intel Advisor 201n > Start Survey Analysis.

While analysis is running, you can do the following in the Workflow tab:

  • Stop analysis and data collection, and retain the already collected data: Click the button.

  • Cancel analysis and data collection, and discard the collected data: Click the button.

  • Interrupt post-collection data finalization: Click the button.

Tip

  • If the Survey analysis does not collect sufficient data to produce a Survey Report, it displays a Target executed too quickly or does not contain debug symbols message. Consider increasing the target workload or data to run the analysis at least a few seconds; or check whether debug information is specified as a build option; or specify a different target application.

  • There are a variety of techniques available to minimize data collection, result size, and execution time. Check See Also.

  • See Getting Started with Intel® Advisor for corresponding command line interface commands.

Survey Report Controls


Intel Advisor: Survey Report controls
There are many controls available to help you focus on the data most important to you, including the following:

1

Click the control to save a read-only result snapshot you can view any time.

Intel Advisor stores only the most recent analysis result. Visually comparing one or more snapshots to each other or to the most recent analysis result can be an effective way to judge performance improvement progress.

To open a snapshot, choose File > Open > Result...

2

Click the various Filter controls to temporarily limit displayed data based on your criteria.

3

Click the control to view loops in non-executed code paths for various instruction set architectures (ISAs). Prerequisites:

  • Compile the target application for multiple code paths using the Intel compiler.

  • Enable the Analyze loops in not executed code path checkbox in Project Properties > Analysis Target > Survey Hotspots Analysis.

4

This toggle control currently combines two features: The View Configurator and the Smart Mode filter.

  • View Configurator - Toggle on the Customize View control to choose the view layout to display: Default, Smart Mode, or a customized view layout. To create a customized view layout you can apply to this and other projects:

    1. Click the Settings control next to the View Layout drop-down list to open the Configure Columns dialog box.

    2. Choose an existing view layout in the Configuration drop-down list.

    3. Enable/disable columns to show/hide.

      Outcome: Copy n is added to the name of the selected view layout in the Configuration drop-down list.

    4. Click the Rename button and supply an appropriate name for the customized view layout.

    5. Click OK to save the customized view layout.

  • Smart Mode Filter - Toggle on the Customize View control to temporarily limit displayed data to the top potential candidates for optimization based on Total CPU Time (the time your application spends actively executing a function/loop and its callees). In the Top drop-down list, choose one of the following:

    • The Number of top loops/functions to display

    • The Percent of Total CPU Time the displayed loops/functions must equal or exceed

Intel Advisor: View Configurator

5

Click the button to search for specific data.

6

Click the tab to open various Intel Advisor reports or views.

7

Right-click a column header to:

  • Hide the associated report column.

  • Resume showing all available report columns.

  • Open the Configure Columns dialog box (see #4 for more information).

8

Click the toggle to show all available columns in a column set, and resume showing a limited number of preset columns in a column set.

9

Click the control to:

  • Show options for customizing data in a column or column set.

  • Open the Configure Columns dialog box (see #4 for more information).

For example, click the control in the Compute Performance column set to:

  • Show data for floating-point operations only, for integer operations only, or for the sum of floating-point and integer operations.

  • Determine what is counted as an integer operation in integer calculations:

    • Choose Show Pure Compute Integer Operations to count only ADD, MUL, IDIV, and SUB operations.

    • Choose Show All Operations Processing Integer Data to count ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC/DEC, shift, and rotate operations.

10

Click the control to show/hide a chart that helps you visualize actual performance against hardware-imposed performance ceilings, as well as determine the main limiting factor (memory bandwidth or compute capacity), thereby providing an ideal roadmap of potential optimization steps.

11

Click a data row in the top of the Survey Report to display more data specific to that row in the bottom of the Survey Report. Double-click a loop data row to display a Survey Source window. To more easily identify data rows of interest:

  • = Vectorized function

  • = Vectorized loop

  • = Scalar function

  • = Scalar loop

12

Click a checkbox to mark a loop for deeper analysis.

13

If present, click the image to display code-specific how-can-I-fix-this-issue? information in the Recommendations pane.

14

If present, click the image to view the reason automatic compiler vectorization failed in the Why No Vectorization? pane.

15

Click the control to show/hide the Workflow pane.

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