Systematic search within an optimisation space based on Unified Transformation Framework

Modern compilers have limited ability to exploit the performance improvement potential of complex transformation compositions due to their ad-hoc nature. Unified Transformation Framework (Kelly and Pugh, 1993a) provides a unified representation of different iteration reordering transformations. It results in a large and complex space to explore. This paper presents a heuristic search algorithm capable of efficiently locating good optimisations within this space. Preliminary experimental results on Java show that it can achieve an average speedup of 1.14 and 1.10 on two different platforms, and more than 75% of the maximum performance available can be obtained within 20 evaluations.

[1]  Shun Long Adaptive Java optimisation using machine learning techniques , 2004 .

[2]  Jack Shirazi Java Performance Tuning , 2000 .

[3]  Peter M. W. Knijnenburg,et al.  Iterative compilation in a non-linear optimisation space , 1998 .

[4]  Peter M. W. Knijnenburg,et al.  Statistical selection of compiler options , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[5]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[6]  Martin D. Westhead,et al.  A benchmark suite for high performance Java , 2000, Concurr. Pract. Exp..

[7]  Ken Kennedy,et al.  Optimizing Compilers for Modern Architectures: A Dependence-based Approach , 2001 .

[8]  David I. August,et al.  Compiler optimization-space exploration , 2003, International Symposium on Code Generation and Optimization, 2003. CGO 2003..

[9]  Vivek Sarkar,et al.  Jalape~ No | a Compiler-supported Java Tm Virtual Machine for Servers , 1999 .

[10]  Ali-Reza Adl-Tabatabai,et al.  Fast, effective code generation in a just-in-time Java compiler , 1998, PLDI.

[11]  David Parello,et al.  On Increasing Architecture Awareness in Program Optimizations to Bridge the Gap between Peak and Sustained Processor Performance — Matrix-Multiply Revisited , 2002, ACM/IEEE SC 2002 Conference (SC'02).

[12]  W. Pugh,et al.  A framework for unifying reordering transformations , 1993 .

[13]  Michael F. P. O'Boyle,et al.  Evaluating Iterative Compilation , 2002, LCPC.

[14]  Albert Cohen,et al.  A Polyhedral Approach to Ease the Composition of Program Transformations , 2004, Euro-Par.

[15]  William Pugh,et al.  Determining schedules based on performance estimation , 1993 .

[16]  Dr. Andy P. Nisbet,et al.  Towards Retargettable Compilers — Feedback Directed Compilation Using Genetic Algorithms ( Work in Progress ) , 2001 .

[17]  Samuel P. Midkiff,et al.  From Flop to MegaFlops: Java for Technical Computing , 1998, LCPC.

[18]  Albert Cohen,et al.  Putting Polyhedral Loop Transformations to Work , 2003, LCPC.

[19]  Grigori Fursin,et al.  Probabilistic source-level optimisation of embedded programs , 2005, LCTES '05.

[20]  Keith D. Cooper,et al.  Order Matters : Exploring the Structure of the Space of Compilation Sequences Using Randomized Search Algorithms † , 2004 .

[21]  Grigori Fursin,et al.  Iterative compilation and performance prediction for numerical applications , 2004 .

[22]  Albert Cohen,et al.  A Practical Method for Quickly Evaluating Program Optimizations , 2005, HiPEAC.

[23]  Michael F. P. O'Boyle,et al.  A Feasibility Study in Iterative Compilation , 1999, ISHPC.

[24]  Michael F. P. O'Boyle,et al.  Adaptive java optimisation using instance-based learning , 2004, ICS '04.