Investigate Memory Usage and Traffic
- Extends the Survey report with theCompute PerformanceandMemorymetrics.
- Adds Memory Access Patterns data to theRefinement Reporttab.
In the Survey report
- Show data for floating-point operations only, for integer operations only, or for both floating-point and integer operations.
- Determine what is counted as an integer operation in integer calculations:
- ChooseShow Pure Compute Integer Operationsto count only ADD, MUL, IDIV, and SUB operations.
- ChooseShow All Operations Processing Integer Datato count ADD, ADC, SUB, MUL, IMUL, DIV, IDIV, INC/DEC, shift, and rotate operations.
- Show data forL1,L2,L3, orDRAMmemory metrics, or show aCustomized Column Layout.
- Show data for memory load operations only, store operations only, or the sum of both.
In the Refinement report
- Look for loops/functions thatdo nothave "All Unit Strides" in the Access Pattern column to find optimization candidates.
- Strides Distributioncolumn reports the ratio of stride types for a selected loop/function and is color-coded:
For vectorization,unitstride is the preferred distribution. Your goal is to eliminate irregular strides and minimize the constant stride to optimize memory usage.
- Blueis unite/uniform stride, which means that the instruction access memory sequentially or within the distance of one element.
- Yellowis constant stride, which means that the instructions access memory with the constant step of more than one element.
- Redis irregular stride, which means that the instructions access memory addresses that change by an unpredictable number of elements from iteration to iteration.
- Click a loop in the top pane to see a detailed report for this loop below in theMemory Access Patterns Reporttab.
- Review details for each stride type that contributes to the loop/function with corresponding source locations.
- Review the size of the strides, variables accessed, and source locations and modules.
- To optimize memory access patterns, follow theIntel® AdvisorRecommendationsfor specific loops/functions.
- View Activationpane -Enable or disable views shown in the Source view.
- Source Viewpane -View source code of the selected loop/function.
- Assembly Viewpane -View assembly source of the selected loop/function.
- Details Viewpane -View details of the selected site.
- RunCPU / Memory Roofline Insightsperspective to get a detailed view about your application performance.