Loop Tiling - Overview

Overview

Loop tiling partitions a loop's iteration space into smaller chunks or blocks, so as to help ensure data used in a loop stays in the cache until it is reused. The partitioning of loop iteration space leads to partitioning of large array into smaller blocks, thus fitting accessed array elements into cache size, enhancing cache reuse and eliminating cache size requirements. An ordinary loop

for(i=0; ican be blocked with a block size B by replacing it with

for(j=0; jwhere min is a function returning the minimum of its arguments.

Read more about this topic:  Loop Tiling