Title :
Automatic Correction of Loop Transformations
Author :
Vasilache, Nicolas ; Cohen, Albert ; Pouchet, Louis-Noël
Author_Institution :
INRIA Futurs & Paris-Sud 11 Univ., Paris
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;
Conference_Titel :
Parallel Architecture and Compilation Techniques, 2007. PACT 2007. 16th International Conference on
Conference_Location :
Brasov
Print_ISBN :
978-0-7695-2944-8
DOI :
10.1109/PACT.2007.4336220