MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Compiler optimization-space exploration (2003) [47 citations — 1 self]

Download:
pdf
by Spyridon Triantafyllis, Manish Vachharajani, David I. August
Journal of Instruction-level Parallelism
http://liberty.cs.princeton.edu/Publications/jilp_ose.pdf
Add To MetaCart

Abstract:

To meet the performance demands of modern architectures, compilers incorporate an everincreasing number of aggressive code transformations. Since most of these transformations are not universally beneficial, compilers traditionally control their application through predictive heuristics, which attempt to judge an optimization’s effect on final code quality a priori. However, complex target architectures and unpredictable optimization interactions severely limit the accuracy of these judgments, leading to performance degradation because of poor optimization decisions. This performance loss can be avoided through the iterative compilation approach, which advocates exploring many optimization options and selecting the best one a posteriori. However, existing iterative compilation systems suffer from excessive compile times and narrow application domains. By overcoming these limitations, Optimization-Space Exploration (OSE) becomes the first iterative compilation technique suitable for general-purpose production compilers. OSE narrows down the space of optimization options explored through limited use of heuristics. A compiler tuning phase further limits the exploration space. At compile time, OSE prunes the remaining optimization configurations in the search space by exploiting feedback from earlier configurations tried. Finally, rather than measuring actual runtimes, OSE compares optimization outcomes through static performance estimation, further enhancing compilation speed. An OSE-enhanced version of Intel’s reference compiler for the Itanium architecture yields a performance improvement of more than 20 % for some SPEC benchmarks. 1.

Citations

291 Compiler transformations for high-performance computing – BACON, GRAHAM, et al. - 1994
264 Effective compiler support for predicated execution using the hyperblock – Mahlke, Lin, et al. - 1992
104 Integrating Register Allocation and Instruction Scheduling for RISCs – Bradlee, Eggers, et al. - 1991
102 Code Scheduling and Register Allocation in Large Basic Blocks – Goodman, Hsu - 1988
100 Combining loop transformations considering caches and scheduling – Wolf, Maydan, et al. - 1996
79 Performance estimation of embedded software with instruction cache modeling – Li, Malik, et al. - 1999
77 Minimizing register requirements under resource-constrained rateoptimal software pipelining – Govindarajan, Altman, et al. - 1994
48 Adaptive optimizing compilers for the 21 st century – Cooper, Subramanian, et al. - 2001
44 An approach for exploring code improving transformations – Whitfield, Soffa - 1997
44 A framework for balancing control flow and predication – August, Hwu, et al. - 1997
42 Integrated predicated and speculative execution – August, Connors, et al. - 1998
38 CCG: A prototype coagulating code generator – Morris - 1991
34 Instruction Scheduling for clustered VLIW DSPs – Leupers - 2000
34 Iterative compilation in a non-linear optimisation space – Bodin, Kisuki, et al. - 1998
33 Continuous program optimization: Design and evaluation – Kistler, Franz - 2001
26 Evaluating iterative compilation – Fursin, O’Boyle, et al. - 2002
21 A feasibility study in iterative compilation – Kisuki, Knijnenburg, et al. - 1999
16 OCEANS: Optimizing Compilers for Embedded Applications – Aarts - 1997
13 Automatic recommendation of compiler options – Granston, Holler - 2001
10 Performance evaluation and prediction for parallel algorithms on the bbn gp1000 – Bodin, Windheiser, et al. - 1990
8 GAPS: iterative feedback directed parallelisation using genetic algorithms – Nisbet - 1998
7 Modulo scheduling with reduced register pressure – Llosa, Valero, et al. - 1998
7 Genetic programming applied to compiler heuristic optimization – Stephenson, O’Reilly, et al. - 2003
3 A feasibility study – Kisuki, Knijnenburg, et al. - 1999
2 Phillips Trimedia Processor Homepage – Corporation - 2002
2 Electron C Compiler User's Guide for Linux – Corporation - 2001
1 Equator MAP Architecture – Corporation - 2002
1 OCEANS: Optimizing compilers for embedded HPC applications – Aarts, Barreteau, et al. - 1997
1 pfmon Performance Monitoring Tool – Eranian
1 pfmon Performance Monitoring Tool.” ftp://ftp.hpl.hp.com/pub/linux-ia64 – Eranian