29.11.2012 Views

Compile-time Loop Splitting for Distributed Memory ... - Stanford AI Lab

Compile-time Loop Splitting for Distributed Memory ... - Stanford AI Lab

Compile-time Loop Splitting for Distributed Memory ... - Stanford AI Lab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

List of Tables<br />

2.1 A 1-D loop nest be<strong>for</strong>e and after partitioning. The processor identifier, ranging<br />

from 0 to 3, is denoted by pid. XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 16<br />

2.2 Two examples of task partitioning <strong>for</strong> a 2-D loop nest: the programmer’s orig-<br />

inal code, the code after blocking, and the code after striping. XXXXXXXXXX 17<br />

2.3 Reduction in operations <strong>for</strong> array references by an optimizing compiler. XXXX 26<br />

3.1 Trans<strong>for</strong>mation of a 1-D loop nest into two different code sequences illustrating<br />

arbitrary loop splitting. The loop body is a function of the index variable �. X X 29<br />

3.2 Ten separate loops of equal iteration length can be reduced in code to two<br />

nested loops. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 30<br />

3.3 The original loop with a prologue and epilogue both peeled away and grouped<br />

into loops themselves. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 30<br />

3.4 A loop be<strong>for</strong>e and after code hoisting. XXXXXXXXXXXXXXXXXXXXXXXXX 31<br />

3.5 The same code after strength reduction on the multiplication and the modulo<br />

function. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 32<br />

3.6 Eight code sequences showing various <strong>for</strong>ms of optimization; the right column<br />

is generalization of the example on the left, where — and ˜ are positive integer<br />

constants. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 33<br />

3.7 A one-dimensional loop erroneously trans<strong>for</strong>med by loop splitting. XXXXXXXX 35<br />

3.8 The previous example with correct loop splitting, showing peeled iterations;<br />

the general loop splitting trans<strong>for</strong>mation. XXXXXXXXXXXXXXXXXXXXXXX 36<br />

3.9 The optimized general 1-D array reference. XXXXXXXXXXXXXXXXXXXXX 38<br />

8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!