• 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