Intel® Advisor Help

Data: Access Pattern

Metric

Description

Interpretation

Uniform stride 0

Instruction accesses the same memory from iteration to iteration.

Uniform stride pattern represents the ideal situation and does not require any improvements.

Unit stride (stride 1)

Instruction accesses memory that consistently changes by one element from iteration to iteration.

Unit stride pattern (just like uniform) represents the ideal situation and does not require any improvements.

Constant stride (stride N)

Instruction accesses memory that consistently changes by N elements (N>1) from iteration to iteration.

With the constant stride, your code uses more memory than in ideal case, and requires more cache lines. Consider studying recommendations on AOS/SOA optimization.

Irregular stride

Instruction accesses memory addresses that change by an unpredictable number of elements from iteration to iteration.

Memory access is irregular, which might limit vectorization or even make it impossible.

Gather (irregular) stride

Advisor detected for v(p)gather* instructions on AVX2 Instruction Set Architecture.

This is the case where compiler vectorized the code with irregular memory access pattern. Consider improving the code to use more constant memory access pattern.