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-of the- 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.
Original language | English |
---|---|
Title of host publication | Code Generation and Optimization, 2007. CGO '07. International Symposium on |
Place of Publication | Washington, DC, USA |
Publisher | Institute of Electrical and Electronics Engineers (IEEE) |
Pages | 185-197 |
Number of pages | 13 |
ISBN (Print) | 0-7695-2764-7 |
DOIs | |
Publication status | Published - Mar 2007 |