학술논문

Using machine learning to focus iterative optimization
Document Type
Conference
Source
International Symposium on Code Generation and Optimization (CGO'06) Code Generation and Optimization Code Generation and Optimization, 2006. CGO 2006. International Symposium on. :11 pp.-305 2006
Subject
Computing and Processing
Machine learning
Iterative methods
Optimizing compilers
Costs
Optimization methods
Predictive models
Machine learning algorithms
Iterative algorithms
Shape
Instruments
Language
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 C67I3 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.