Publication | Closed Access
Rapidly Selecting Good Compiler Optimizations using Performance Counters
232
Citations
31
References
2007
Year
Unknown Venue
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisCompilersParallel ComputingParticular ProgramDynamic CompilationCompiler SupportComputer EngineeringComputer ScienceProgram OptimizationOptimizing CompilerProgram AnalysisCompiler OptimizationsSoftware TestingPerformance CountersParallel Programming
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 non-trivial. 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 AMD Athlon 64 3700+ platform
| Year | Citations | |
|---|---|---|
Page 1
Page 1