Rapidly Selecting Good Compiler Optimizations using Performance Counters

  • Authors:
  • John Cavazos;Grigori Fursin;Felix Agakov;Edwin Bonilla;Michael F. P. O'Boyle;Olivier Temam

  • Affiliations:
  • University of Edinburgh, UK;ALCHEMY Group, INRIA Futurs and LRI, Paris-Sud University, France;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;ALCHEMY Group, INRIA Futurs and LRI, Paris-Sud University, France

  • Venue:
  • Proceedings of the International Symposium on Code Generation and Optimization
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Applying the right compiler optimizations to a particular program can have a significant impact on program performance. Due to the non-linear interaction of compiler optimizations, however, determining the best setting is nontrivial. There have been several proposed techniques that search the space of compiler options to find good solutions; however such approaches can be expensive. This paper proposes a different approach using performance counters as a means of determining good compiler optimization settings. This is achieved by learning a model off-line which can then be used to determine good settings for any new program. We show that such an approach outperforms the state-ofthe- art and is two orders of magnitude faster on average. Furthermore, we show that our performance counter-based approach outperforms techniques based on static code features. Using our technique we achieve a 17% improvement over the highest optimization setting of the commercial PathScale EKOPath 2.3.1 optimizing compiler on the SPEC benchmark suite on a recent AMD Athlon 64 3700+ platform.