Title :
Oil and Water Can Mix: An Integration of Polyhedral and AST-Based Transformations
Author :
Shirako, Jun ; Pouchet, Louis-Noel ; Sarkar, Vivek
Abstract :
Optimizing compilers targeting modern multi-core machines require complex program restructuring to expose the best combinations of coarse- and fine-grain parallelism and data locality. The polyhedral compilation model has provided significant advancements in the seamless handling of compositions of loop transformations, thereby exposing multiple levels of parallelism and improving data reuse. However, it usually implements abstract optimization objectives, for example "maximize data reuse", which often does not deliver best performance, e.g., The complex loop structures generated can be detrimental to short-vector SIMD performance. In addition, several key transformations such as pipeline-parallelism and unroll-and-jam are difficult to express in the polyhedral framework. In this paper, we propose a novel optimization flow that combines polyhedral and syntactic/AST-based transformations. It generates high-performance code that contains regular loops which can be effectively vectorized, while still implementing sufficient parallelism and data reuse. It combines several transformation stages using both polyhedral and AST-based transformations, delivering performance improvements of up to 3× over the PoCC polyhedral compiler on Intel Nehalem and IBM Power7 multicore processors.
Keywords :
optimising compilers; parallelising compilers; AST-based transformations; IBM Power7 multicore processor; Intel Nehalem multicore processor; PoCC polyhedral compiler; abstract optimization; coarse-grain parallelism; complex loop structures; data locality; data reuse maximization; data reusing; fine-grain parallelism; high-performance code generation; loop transformations; multicore machines; optimization flow; optimizing compilers; pipeline-parallelism; polyhedral compilation model; polyhedral framework; polyhedral-based transformations; program restructuring; seamless composition handling; short-vector SIMD performance; syntactic-based transformation; transformation stages; unroll-and-jam; Arrays; Data models; Nickel; Optimization; Parallel processing; Schedules; Silicon;
Conference_Titel :
High Performance Computing, Networking, Storage and Analysis, SC14: International Conference for
Conference_Location :
New Orleans, LA
Print_ISBN :
978-1-4799-5499-5