Combined Iterative and Model-driven Optimization in an Automatic Parallelization Framework
SESSION: Automated Tuning
EVENT TYPE: Paper
TIME: 11:00AM - 11:30AM
SESSION CHAIR: Michela Taufer
AUTHOR(S):Louis-Noel Pouchet, Uday Bondhugula, Cedric Bastoul, Albert Cohen, J. Ramanujam, P. Sadayappan
ABSTRACT: Today's multi-core era places significant demands on an optimizing compiler, which must parallelize programs, exploit the memory hierarchy and leverage the ever-increasing SIMD capabilities of modern processors. Existing model-based heuristics for performance optimization used in compilers are severely limited in their ability to identify profitable parallelism/locality trade-offs and usually lead to sub-optimal performance.
To address this problem, we distinguish optimizations for which effective model-based heuristics and profitability estimates exist from optimizations that require empirical search to achieve good performance in a portable fashion. We have developed a complete automatic framework in which we focus the empirical search on the set of valid possibilities to perform fusion/code motion, and resort to model-based mechanisms to perform tiling, vectorization and parallelization on the transformed program. We demonstrate the effectiveness of this approach in terms of strong performance improvements on a single target as well as portability of performance to different target architectures.