Non-linear memory layout transformations and data prefetching ...
Non-linear memory layout transformations and data prefetching ...
Non-linear memory layout transformations and data prefetching ...
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2.9 Data Reuse 21Dependence Vector of a nested loop iteration is the dierence between two vectors: the vector⃗j = (j 1 , . . . , j n ), that represents the iteration in issue, <strong>and</strong> the vector ⃗j ′ = (j 1 ′ , . . . , j n ′ ), thatrepresents the dependent iteration (the results of iteration ⃗j ′ are directly used in processing ofiteration ⃗j).Every dependence vector is represented by an n-dimensional vector: ⃗ d i = (d i1 , . . . , d in ).2.9 Data ReuseSince <strong>transformations</strong> change iteration order, identifying reuse, guides <strong>transformations</strong> to exploitlocality. In some cases we need to evaluate dierent kinds of reuse, in order to nd the bestcombination of <strong>transformations</strong> [WL91].There are four dierent types of reuse.In order to better explain the dierent types of reuse, we will use the following nestedloop, as an example:for (i = 0; i