• DocumentCode
    3459366
  • Title

    Automatic Correction of Loop Transformations

  • Author

    Vasilache, Nicolas ; Cohen, Albert ; Pouchet, Louis-Noël

  • Author_Institution
    INRIA Futurs & Paris-Sud 11 Univ., Paris
  • fYear
    2007
  • fDate
    15-19 Sept. 2007
  • Firstpage
    292
  • Lastpage
    304
  • Abstract
    Loop nest optimization is a combinatorial problem. Due to the growing complexity of modern architectures, it involves two increasingly difficult tasks: (1) analyzing the profitability of sequences of transformations to enhance parallelism, locality, and resource usage, which amounts to a hard problem on a non-linear objective function; (2) the construction and exploration of search space of legal transformation sequences. Practical optimizing and parallelizing compilers decouple these tasks, resorting to a predefined set of enabling transformations to eliminate all sorts of optimization-limiting semantical constraints. State-of-the-art optimization heuristics face a hard decision problem on the selection of enabling transformations only remotely related to performance. We propose a new design where optimization heuristics first address the main performance anomalies, then correct potentially illegal loop transformations a posteriori, attempting to minimize the performance impact of the necessary adjustments. We propose a general method to correct any sequence of loop transformations through a combination of loop shifting, code motion and index-set splitting. Sequences of transformations are modeled by compositions of geometric transformations on multidimensional affine schedules. We provide experimental evidence of the scalability of the algorithms on real loop optimizations.
  • Keywords
    decision theory; geometry; optimisation; optimising compilers; parallelising compilers; profitability; program control structures; scheduling; search problems; sequences; code motion; combinatorial problem; geometric transformations; hard decision problem; index-set splitting; legal transformation sequences; loop nest optimization; loop shifting; loop transformation correction; multidimensional affine schedules; nonlinear objective function; optimization heuristics; optimizing compilers; parallelizing compilers; real loop optimizations; search space; transformation sequences profitability; Constraint optimization; Design optimization; Law; Legal factors; Multidimensional systems; Optimizing compilers; Profitability; Scalability; Solid modeling; Space exploration;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
  • Conference_Location
    Brasov
  • ISSN
    1089-795X
  • Print_ISBN
    978-0-7695-2944-8
  • Type

    conf

  • DOI
    10.1109/PACT.2007.4336220
  • Filename
    4336220