Visible to Intel only — GUID: GUID-C3A9C39D-100B-4485-A7AF-7F805097B2C2
Visible to Intel only — GUID: GUID-C3A9C39D-100B-4485-A7AF-7F805097B2C2
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 Check for Dependencies Issues.
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.
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.