DocumentCode :
1165913
Title :
On the parallel execution time of tiled loops
Author :
Hogstedt, K. ; Carter, L. ; Ferrante, J.
Author_Institution :
AT&T Labs.-Res., USA
Volume :
14
Issue :
3
fYear :
2003
fDate :
3/1/2003 12:00:00 AM
Firstpage :
307
Lastpage :
321
Abstract :
Many computationally-intensive programs, such as those for differential equations, spatial interpolation, and dynamic programming, spend a large portion of their execution time in multiply-nested loops that have a regular stencil of data dependences. Tiling is a well-known compiler optimization that improves performance on such loops, particularly for computers with a multilevel hierarchy of parallelism and memory. Most previous work on tiling is limited in at least one of the following ways: they only handle nested loops of depth two, orthogonal tiling, or rectangular tiles. In our work, we tile loop nests of arbitrary depth using polyhedral tiles. We derive a prediction formula for the execution time of such tiled loops, which can be used by a compiler to automatically determine the tiling parameters that minimizes the execution time. We also explain the notion of rise, a measure of the relationship between the shape of the tiles and the shape of the iteration space generated by the loop nest. The rise is a powerful tool in predicting the execution time of a tiled loop. It allows us to reason about how the tiling affects the length of the longest path of dependent tiles, which is a measure of the execution time of a tiling. We use a model of the tiled iteration space that allows us to determine the length of the longest path of dependent tiles using linear programming. Using the rise, we derive a simple formula for the length of the longest path of dependent tiles in rectilinear iteration spaces, a subclass of the convex iteration spaces, and show how to choose the optimal tile shape.
Keywords :
optimising compilers; parallelising compilers; program control structures; compiler optimization; computationally-intensive programs; data dependences; differential equations; dynamic programming; iteration space; multilevel hierarchy memory; multilevel hierarchy parallelism; multiply-nested loops; orthogonal tiling; parallel execution time; polyhedral tiles; prediction formula; rectangular tiles; rise; spatial interpolation; tiled loops; Concurrent computing; Differential equations; Dynamic programming; Interpolation; Length measurement; Optimizing compilers; Parallel processing; Shape measurement; Time measurement;
fLanguage :
English
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
1045-9219
Type :
jour
DOI :
10.1109/TPDS.2003.1189587
Filename :
1189587
Link To Document :
بازگشت