User Guide


Dependencies and Memory Access Patterns Analyses

Refinement Reports Purpose and Usage

Intel Advisor
offers two
  • 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.
  • 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.

Refinement Reports Regions

  • Filters pane -
    Filter analysis data by a variety of criteria, such as module, loop/function, and vectorized/non-vectorized.
  • Loop Information pane -
    View integrated Memory Access Patterns and Dependencies analysis data.
  • Advanced View pane - includes the following tabs:
    • Memory Access Patterns Report tab -
      View information about types of memory access inside selected loops/functions.
      Vectorization Advisor
    • Dependencies Report tab -
      View any predicted data sharing problems and informational remark messages.
    • Recommendations tab - provides memory-specific recommendations.

Product and Performance Information


Performance varies by use, configuration and other factors. Learn more at