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 provides information about Dependencies, discovered by the Dependencies tool. See About Examining Potential Dependencies for more information.
Strides Distribution provides the ratio of the strides within a loop. First value reports Unit strides, next one - Constant strides, the last one reports Variable strides.
Access Pattern classifies the type of strides inside the loop. The value in the column might either claim all strides are of the same type, or say that the loop comprises strides of different types.
Site Name report the unique loop identifier:
If loops for Memory Access Patterns analysis are marked in the Survey Report, the Site Name column shows auto-generated Site names.
If you use source annotations to mark loops for MAP Analysis, the Site Name column shows the Site name defined in the source annotation.
Double-click any line in the Refinement Reports top pane to see the loop source code.
The tab contains information about memory access patterns, including the following:
ID of the memory access operation
Severity classification of the memory access stride
Stride provides memory access stride values
Type, which describes one of the following:
Unit Stride, which is the most optimal type stride as the loop performs memory accesses to the memory units that are close to each other.
Constant Stride, which is rather a warning than a real issue. In this case the program issues memory accesses with a certain stride, while the accessed memory units reside in a mixed memory region, which contains memory units that are not accessed by the current loop.
Variable Stride, which is the most unwelcome type of stride. In this case the memory accesses are performed with inconsistent stride values, which might impact performance significantly.
Source provides info on the operation's source file name and code line
Nested Function provides the name of the nested function, if a problem (stride) is found in the function called from the current site.
Modules provides the name of the analyzed application
Variable references column shows the variable for which the access stride is detected.
Double-click any line in the Memory Access Patterns Report tab to see the selected operation's source code.