User Guide

Contents

Find Data Dependencies

Prerequisites

Collect Survey data and select loops for the analysis from the column in the Survey report.

Accuracy Level

Custom

Enabled Analyses

Dependencies
Collecting Dependencies data may substantially increase report generation time. There are a variety of techniques available to minimize data collection, result size, and execution time. Check Minimize Analysis Overhead.

Result Interpretation

For safety purposes, compiler is often conservative when assuming data dependencies. The Dependencies analysis checks for real data dependencies in loops the compiler did not vectorize because of assumed dependencies and provides recommendations to help resolve the dependencies if detected.
The Dependencies analysis is not enabled in any of the accuracy presets by default. Select it manually from the
Analysis Workflow
tab before executing the perspective.
Example of a Refinement report with loop dependency data of the Vectorization perspective
  • Click a loop in the top pane to see a detailed report for each dependency found in this loop below in the
    Dependencies Report
    tab.
  • Use the
    Dependencies Report
    to view each reported problem and its associated code locations.
    • If no dependencies found, it is safe to force vectorization.
    • For loops/functions with real dependencies, Intel Advisor reports dependency type and severity in the Loop-Carried Dependency column in the top pane.
  • Use the
    Dependencies Source
    window to view the focus and related source code regions to help you understand the cause of the reported problem.
  • Use the
    Code Locations
    window to view the focus and related source code regions to help you understand the cause of the reported problem.
  • To learn about a reported problem, right-click its name in the
    Dependencies Report
    ,
    Problems and Messages
    pane and select
    What Should I Do Next?
    . This displays the help topic for that problem type with recommendations on how to resolve the dependency.
  • Double-click a problem in the
    Dependencies Report
    ,
    Problems and Messages
    pane to open the Dependencies Source tab and examine the problem in more detail.

Dependencies Report Overview

In the
Dependencies Report
tab at the bottom of the
Refinement Report
, review the following panes:
  • Problems and Messages
    pane -
    Select the problems that you want to analyze by viewing their associated observations.
  • Code Locations
    pane -
    View details about the code locations for the selected problem in the
    Dependencies Report
    window. Icons identify the focus code location and related code location .
  • Filters
    pane -
    Filter contents of the report tab.
Associated
Dependencies Source
window, from top left to bottom right:
  • Focus Code Location
    pane -
    Use this pane to explore source code associated with focus code location in the
    Dependencies Source
    window.
  • Focus Code Location Call Stack
    pane -
    Use this pane to select which source code appears in the
    Focus Code Location
    pane in the
    Dependencies Source
    window.
  • Related Code Locations
    pane -
    Use this pane to explore source code associated with related code locations (related to the focus code location) in the
    Dependencies Source
    window.
  • Related Code Location Call Stack
    pane -
    Use this pane to select which source code appears in the
    Related Code Location
    pane.
  • Code Locations
    pane -
    Use this pane to view the details about the code location for the selected problem in the
    Dependencies Report
    window.
  • Relationship Diagram
    pane -
    Use this pane to view the relationships among code locations for the selected problem.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.