Model-Driven Transformations for Multi- and Many-Core CPUs
Modern polyhedral compilers excel at aggressively optimizing codes with static control parts, but the state-of-practice to find high-performance polyhedral transformations especially for different hardware targets still largely involves auto-tuning. In this work we propose a novel customizable polyhedral scheduling technique, with the aim of delivering high performance for several hardware targets. We design constraints and objectives that model several crucial aspects of performance such as stride optimization or the trade-off between parallelism and reuse, while considering important architectural features of the target machine. We evaluate our work using the PolyBench/C benchmark suite and experimentally validate it against large optimization spaces generated with the Pluto compiler on 3 representative architectures: an IBM Power9, an Intel Xeon Phi and an Intel Core-i9. Our results show we can achieve comparable or superior performance to Pluto on the majority of benchmarks, without implementing tiling in the source code nor using experimental autotuning.
Tue 25 Jun
|08:30 - 08:50|
Tanvir Ahmed KhanUniversity of Michigan, USA, Yifan ZhaoUniversity of Michigan, USA, Gilles PokamIntel Corporation, Barzan MozafariUniversity of Michigan, USA, Baris KasikciUniversity of Michigan, USAMedia Attached
|08:50 - 09:10|
|09:10 - 09:30|
|Pre-print Media Attached|