Professional Documents
Culture Documents
015outlinel15 w6M PDF
015outlinel15 w6M PDF
Locality
Why?
Temporal Locality
Spatial Locality
Example
int sumArray(int a[], int size, int stride) {
int sum = 0;
for (int i = 0; i < size; i += stride)
sum += a[i];
return sum;
}
Bad Locality
Why is this code bad?
int a[ROWS][COLS];
for (int c = 0; c < COLS; c++)
for (int r = 0; r < ROWS; r++)
a[r][c] = r * c;
Instruction Flow:
Searching Algorithms:
Memory Hierarchies
L0:
Registers
L1: Cache
L2: Cache
L3: Cache