Iterative optimization in the polyhedral model
High-level loop optimizations are necessary to achieve good performance over a wide variety of processors. Their performance impact can be significant because they involve in-depth program transformations that aiming to sustain a balanced workload over the computational, storage, and communication resources of the target architecture. Therefore, it is mandatory that the compiler accurately models the target architecture and the effects of complex code restructuring. However, because optimizing
... ompilers (1) use simplistic performance models that abstract away many of the complexities of modern architectures, (2) rely on inaccurate dependence analysis, and (3) lack frameworks to express complex interactions of transformation sequences, they typically uncover only a fraction of the peak performance available on many applications. We propose a complete iterative framework to address these issues. We rely on the polyhedral model to construct and traverse a large and expressive search space. This space encompasses only legal, distinct versions resulting from the restructuring of any static control loop nest. We first propose a feedback-driven iterative heuristic tailored to the search space properties of the polyhedral model. Though, it quickly converges to good solutions for small kernels, larger benchmarks containing higher dimensional spaces are more challenging and our heuristic misses opportunities for significant performance improvement. Thus, we introduce the use of a genetic algorithm with specialized operators that leverage the polyhedral representation of program dependences. We provide experimental evidence that the genetic algorithm effectively traverses huge optimization spaces, achieving good performance improvements on large loop nests. 1. By considering multidimensional schedules, we tackle any possible static-control loop nest in a program, a major leap forward from the state-of-the-art iterative optimization on onedimensional schedules  . We simultaneously extend the application domain -applicability and scalability to larger codes -and search space expressiveness -construction of more complex sequences of transformations. 2. To harness the combinatorial explosion of the optimization problem, we present a scalable traversal heuristic and original genetic operators, tailored to efficiently traverse a space of legal, distinct multidimensional schedules. These operators leverage the algebraic structure and statistical properties of the space.