A heuristic search algorithm based on unified transformation framework

Modern compilers have limited ability to exploit the performance improvement potential of complex transformation compositions. This is due to the ad-hoc nature of different transformations. Various frameworks have been proposed to provide a unified representation of different transformations, among them is Pugh's unified transformation framework (UTF) (Kelly et al., 1993). It presents a unified and systematic representation of iteration reordering transformations and their arbitrary combination, which results in a large and complex optimization space for a compiler to explore. This paper presents a heuristic search algorithm capable of efficiently locating good program optimizations within such a space. Preliminary experimental results on Java show that it can achieve an average speedup of 1.14 on Linux + Celeron and 1.10 on Windows + PentiumPro, and more than 75% of the maximum performance available can be obtained within 20 evaluations or less.

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

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

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

[4]  Aart J. C. Bik,et al.  javar: A prototype Java restructuring compiler , 1997 .

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

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

[7]  Java Grande,et al.  Java Grande Forum Report: Making Java Work for High-end Computing , 2022 .

[8]  George K. Thiruvathukal Java Grande Forum Report: Making Java Work for High-End Computing , 1998 .

[9]  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).

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

[11]  Keith D. Cooper,et al.  Adaptive Optimizing Compilers for the 21st Century , 2002, The Journal of Supercomputing.

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

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

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

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

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

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