Blocking for Cache (tiling)
Blocking for cache:
- An optimization that applies to data sets that do not fit into the (2nd level) data cache
- A way to increase spatial locality of reference (i.e. exploit full cache lines)
- A way to increase temporal locality of reference (i.e. to improve data re-use)
- It is beneficial mostly with multi-dimensional arrays
-LNO:blocking=[on|off] (default on)
-LNO:blocking_size=n1,n2 (for L1 and L2)
By default L1=32KB and L2=1MB
use -LNO:cs2=8M to specify the 8MB L2 cache