User Guide

Contents

Window: Refinement Reports

Intel® Advisor
offers two
refinement
analyses:
  • Dependencies analysis (optional) -
    For safety purposes, the compiler is often conservative when assuming data dependencies. Run a Dependencies analysis to check for real data dependencies in loops the compiler did not vectorize because of assumed dependencies. If real dependencies are detected, the analysis can provide additional details to help resolve the dependencies. Your objective: Identify and better characterize real data dependencies that could make forced vectorization unsafe.
    For more details, see .
  • Memory Access Patterns (MAP) analysis (optional) -
    Run a MAP analysis to check for various memory issues, such as non-contiguous memory accesses and unit stride vs. non-unit stride accesses. Your objective: Eliminate issues that could lead to significant vector code execution slowdown or block automatic vectorization by the compiler.
    For more details, see Investigate Memory Usage and Traffic

Site Report Pane

The
Site Report
pane on top of Refinement Reports window comprises top-level information:
  • Site Location
    lists names of the analyzed loops, names of the files with the source code, as well as the number of the line where the loop is invoked
  • Loop-Carried Dependencies
    Summarizes presence or absence of dependencies across iterations (loop-carried dependencies). Dependency types:
    • RAW - read after write (flow dependency)
    • WAR - write after read (anti dependency)
    • WAW - write after write (output dependency)
  • Strides Distribution
    Unit/Constant/Variable stride ratio for the selected site.
  • Access Pattern
    information about stride types detected in the site.
  • Site Name
    Site Name in case of using source annotations, or sequence id in case of marking loops for deeper analysis in survey report.
Double-click any line in the
Refinement Reports
top pane to see the loop source code.
The pane at the bottom of the Refinement Reports window contains the following elements:
  • Filters
    pane - filter analysis data by a variety of criteria, such as module, loop/function, vectorized/non-vectorized.
  • Advanced View
    pane - includes the following tabs:
    • Memory Access Patterns Report tab - view information about types of memory access inside selected loops/functions. (
      Vectorization and Code Insights
      perspective only.)
    • Dependencies Report tab - view any predicted data sharing problems and informational remark messages.
    • Recommendations tab - view memory-specific recommendations.

Product and Performance Information

1

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