Intel® Advisor Help
After the Intel® Advisor Memory Access Patterns tool runs your program to collect data, the Memory Access Patterns Report tab of the Refinement Reports window opens.
You can view the Memory Access Patterns analysis results in both the Refinement Reports top panel and in the Memory Access Patterns Report tab right beneath.
The Refinement Reports top panel 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 Memory Access Patterns Report tab of the Refinement Reports window contains information about types of memory access inside selected loops, including the following:
ID of the memory access location
Severity stride type classification (icon of the stride type)
Stride physical distance in elements between memory accesses in two consequent iterations
Type of the memory access:
Unit/Uniform types:
Unit stride
(stride 1) instruction accesses memory that consistently changes by
one element from iteration to iteration.
Uniform stride
0 instruction accesses the same memory from iteration to iteration.
Constant stride
(stride N) instruction accesses memory that consistently changes by
N elements (N>1) from iteration to iteration.
Variable stride types:
Irregular stride
instruction accesses memory addresses that change by an unpredictable number of
elements from iteration to iteration.
Gather (irregular)
stride, which is detected for v(p)gather* instructions on AVX2 Instruction
Set Architecture.
Source provides info on the operation's source file name and code line where the memory access is issued.
Nested Function function (invoked from site) where stride diagnostic was detected.
Modules application modules, where the memory access is issued.
Variable references name of the variable for which the memory access stride is detected.
Double-click any line in the Memory Access Patterns Report tab to see the selected operation's source code.