Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/CGO.2007.25acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
Article

Microarchitecture Sensitive Empirical Models for Compiler Optimizations

Published: 11 March 2007 Publication History

Abstract

This paper proposes the use of empirical modeling techniques for building microarchitecture sensitive models for compiler optimizations. The models we build relate program performance to settings of compiler optimization flags, associated heuristics and key microarchitectural parameters. Unlike traditional analytical modeling methods, this relationship is learned entirely from data obtained by measuring performance at a small number of carefully selected compiler/microarchitecture configurations. We evaluate three different learning techniques in this context viz. linear regression, adaptive regression splines and radial basis function networks. We use the generated models to a) predict program performance at arbitrary compiler/microarchitecture configurations, b) quantify the significance of complex interactions between optimizations and the microarchitecture, and c) efficiently search for 'optimal' settings of optimization flags and heuristics for any given microarchitectural configuration. Our evaluation using benchmarks from the SPEC CPU2000 suits suggests that accurate models (\le 5% average error in prediction) can be generated using a reasonable number of simulations. We also find that using compiler settings prescribed by a model-based search can improve program performance by as much as 19% (with an average of 9.5%) over highly optimized binaries.

References

[1]
{1} F. Agakov, E. Bonilla, J. Cavazos, B. Franke, G. Fursin, M. F. P. Boyle, J. Thomson, M. Toussaint, and C. K. I. Williams. Using Machine Learning to Focus Iterative Optimization. In Proc. of CGO, 2006.
[2]
{2} L. Almagor, K. Cooper, A. Grosul, T. Harvey, S. Reeves, D. Subramaniam, L. Torczon, and T. Waterman. Finding Effective Compilation Sequences. In Proc. of LCTES, 2004.
[3]
{3} D. S. Broomhead and D. Love. Multivariate Function Interpolation and Adaptive Networks. Complex Systems, 1988.
[4]
{4} J. Cavazos, C. Dubach, F. Agakov, E. Bonilla, M. F. P. O'Boyle, G. Fursin, and O. Temam. Automatic Performance Model Construction for the Fast Software Exploration of New Hardware Designs. In Proc. of CASES, 2006.
[5]
{5} J. H. Friedman. Multivariate Adaptive Regression Splines. The Annals of Statistics, pages 1-141, 1991.
[6]
{6} M. Haneda, P. M. W. Knijnenburg, and H. A. G. Wijshoff. Automatic Selection of Compiler Options using Non-parametric Inferential Statistics. In Proc. of PACT, 2005.
[7]
{7} P. J. Joseph, K. Vaswani, and M. J. Thazhuthaveetil. A Predictive Model for Superscalar Processor Performance. In Proc. of MICRO, 2006.
[8]
{8} P. J. Joseph, K. Vaswani, and M. J. Thazhuthaveetil. Construction and Use of Linear Regression Models for Processor Performance Analysis. In Proc. of HPCA, 2006.
[9]
{9} T. Kisuki, P. M. W. KnijnenBurg, and M. F. P. O'Boyle. Combined Selection of Tile Size and Unroll Factors using Iterative Compilation. In Proc. of PACT, 2000.
[10]
{10} P. Kulkarni, S. Hines, J. Hiser, D. Whalley, J. Davidson, and D. Jones. Fast Searches for Effective Optimization Phase Sequences. In Proc. of PLDI, 2004.
[11]
{11} D. C. Montgomery. Design and Analysis of Experiments. Wiley, 5th edition, 2001.
[12]
{12} M. Orr, J. Hallam, K. Takezawa, A. Murray, S. Ninomiya, M. Oide, and T. Leonard. Combining Regression Trees and Radial Basis Function Networks. International Journal of Neural Systems, 2000.
[13]
{13} V. Sarkar and N. Megiddo. An Analytic Model for Loop Tiling and its Solution. In Proc. of ISPASS, 2000.
[14]
{14} T. Sherwood, E. Perelman, G. Hamerly, and B. Calder. Automatically Characterizing Large Scale Program Behavior. In Proc. of ASPLOS, 2002.
[15]
{15} M. Stephenson and S. Amarasinghe. Predicting Unroll Factors Using Supervised Classification. In Proc. of CGO, 2005.
[16]
{16} M. Stephenson, S. Amarasinghe, M. Martin, and U.-M. O-Reily. Meta Optimization: Improving Compiler Heuristics using Machine Learning. In Proc. of PLDI, 2003.
[17]
{17} S. Triantafyllis, M. Vachharajani, N. Vachharajani, and D. I. August. Compiler Optimization Space Exploration. In Proc. of CGO, 2003.
[18]
{18} M. E. Wolf, D. E. Maydan, and D. Chen. Combining Loop Transformations Considering Caches and Scheduling. In Proc. of MICRO, 1996.
[19]
{19} R. E. Wunderlich, B. F. T. F. Wenisch, and J. C. Hoe. SMARTS: Accelerating Microarchitecture Simulation via Rigorous Statistical Sampling. In Proc. of ISCA, 2003.
[20]
{20} M. Zhao, B. R. Childers, and M. L. Soffa. Predicting the Impact of Optimizations for Embedded Systems. In Proc. of LCTES, 2003.
[21]
{21} M. Zhao, B. R. Childers, and M. L. Soffa. A Model-based Framework: an Approach to Profit-driven Optimization. In Proc. of CGO, 2005.

Cited By

View all
  • (2024)Exponentially Expanding the Phase-Ordering Search Space via Dormant InformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641582(250-261)Online publication date: 17-Feb-2024
  • (2018)A Survey on Compiler Autotuning using Machine LearningACM Computing Surveys10.1145/319797851:5(1-42)Online publication date: 18-Sep-2018
  • (2016)Evolutionary Optimization of Compiler Flag Selection by Learning and Exploiting Flags InteractionsProceedings of the 2016 on Genetic and Evolutionary Computation Conference Companion10.1145/2908961.2931696(1159-1166)Online publication date: 20-Jul-2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
CGO '07: Proceedings of the International Symposium on Code Generation and Optimization
March 2007
346 pages
ISBN:0769527647

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 11 March 2007

Check for updates

Qualifiers

  • Article

Conference

CGO07

Acceptance Rates

CGO '07 Paper Acceptance Rate 27 of 84 submissions, 32%;
Overall Acceptance Rate 312 of 1,061 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Exponentially Expanding the Phase-Ordering Search Space via Dormant InformationProceedings of the 33rd ACM SIGPLAN International Conference on Compiler Construction10.1145/3640537.3641582(250-261)Online publication date: 17-Feb-2024
  • (2018)A Survey on Compiler Autotuning using Machine LearningACM Computing Surveys10.1145/319797851:5(1-42)Online publication date: 18-Sep-2018
  • (2016)Evolutionary Optimization of Compiler Flag Selection by Learning and Exploiting Flags InteractionsProceedings of the 2016 on Genetic and Evolutionary Computation Conference Companion10.1145/2908961.2931696(1159-1166)Online publication date: 20-Jul-2016
  • (2015)Live Introspection of Target-Agnostic JIT in SimulationProceedings of the International Workshop on Smalltalk Technologies10.1145/2811237.2811295(1-9)Online publication date: 15-Jul-2015
  • (2015)Mantis: Efficient Predictions of Execution Time, Energy Usage, Memory Usage and Network Usage on Smart Mobile DevicesIEEE Transactions on Mobile Computing10.1109/TMC.2014.237415314:10(2059-2072)Online publication date: 1-Oct-2015
  • (2014)MUX: algorithm selection for software model checkersProceedings of the 11th Working Conference on Mining Software Repositories10.1145/2597073.2597080(132-141)Online publication date: 31-May-2014
  • (2012)Exploring and Predicting the Effects of Microarchitectural Parameters and Compiler Optimizations on Performance and EnergyACM Transactions on Embedded Computing Systems10.1145/2180887.218090111S:1(1-24)Online publication date: 1-Jun-2012
  • (2009)Portable compiler optimisation across embedded programs and microarchitectures using machine learningProceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture10.1145/1669112.1669124(78-88)Online publication date: 12-Dec-2009
  • (2008)Studying compiler optimizations on superscalar processors through interval analysisProceedings of the 3rd international conference on High performance embedded architectures and compilers10.5555/1786054.1786067(114-129)Online publication date: 27-Jan-2008
  • (2008)Exploring and predicting the architecture/optimising compiler co-design spaceProceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems10.1145/1450095.1450103(31-40)Online publication date: 19-Oct-2008
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media