Using Machine Learning to Focus Iterative Optimization

  • Authors:
  • F. Agakov;E. Bonilla;J. Cavazos;B. Franke;G. Fursin;M. F. P. O'Boyle;J. Thomson;M. Toussaint;C. K. I. Williams

  • Affiliations:
  • University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK;University of Edinburgh, UK

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Iterative compiler optimization has been shown to outperform static approaches. This, however, is at the cost of large numbers of evaluations of the program. This paper develops a new methodology to reduce this number and hence speed up iterative optimization. It uses predictive modelling from the domain of machine learning to automatically focus search on those areas likely to give greatest performance. This approach is independent of search algorithm, search space or compiler infrastructure and scales gracefully with the compiler optimization space size. Off-line, a training set of programs is iteratively evaluated and the shape of the spaces and program features are modelled. These models are learnt and used to focus the iterative optimization of a new program. We evaluate two learnt models, an independent and Markov model, and evaluate their worth on two embedded platforms, the Texas Instrument C6713 and the AMD Au1500. We show that such learnt models can speed up iterative search on large spaces by an order of magnitude. This translates into an average speedup of 1.22 on the TI C6713 and 1.27 on the AMD Au1500 in just 2 evaluations.