User Guide

Contents

Survey Analysis

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 [version] 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.
  • 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 .

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 [version]
    >
    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.
  • 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.

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
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.

See Also

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804