Abstract | ||
---|---|---|
The complexity of modern architectures require compilers to apply an increasingly large collection of architecture-sensitive optimizations, e.g., parallelization and cache optimizations, which interact with each other in unpredictable ways. We present a framework to support fine-grained parameterization of these optimizations and flexible tuning of their configuration space. Instead of directly generating optimized code, we extend an optimizing compiler to output its optimization decisions in POET, a scripting language designed for extensive parameterization of source-to-source program transformations. We then use a transformation-aware (TA) search algorithm to support flexible tuning of the parameterized transformation scripts to achieve portable high performance. We have used our framework to apply 6 highly interactive optimizations, parallelization via OpenMP, cache blocking, array copying, unroll-and-jam, scalar replacement, and loop unrolling, and present results of exploring their combined configuration space. |
Year | DOI | Venue |
---|---|---|
2011 | 10.1016/j.procs.2011.04.236 | PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE (ICCS) |
Keywords | Field | DocType |
configuration space,search algorithm,scripting language,optimizing compiler | Loop nest optimization,Parameterized complexity,Search algorithm,Cache,Computer science,Parallel computing,Compiler,Optimizing compiler,Loop unrolling,Scripting language | Journal |
Volume | ISSN | Citations |
4 | 1877-0509 | 2 |
PageRank | References | Authors |
0.37 | 22 | 2 |