1
Overview • Machine learning - what is it and why is it useful?
Machine Learning based Compilation • Predictive modelling Michael O’Boyle • Scheduling and low level optimisation March, 2009 • Loop unrolling and inlining • Limits and other uses of machine learning • Future work and summary
M. O’Boyle
Machine Learning based Compilation
March, 2009
M. O’Boyle
Machine Learning based Compilation
March, 2009
2
3
Machine Learning as a solution
Machine Learning
• Well established area of AI, neural networks, genetic algorithms etc. but what has AI got to do with compilation?
• The inputs are characteristics of the program and processor. Outputs, the optimisation function we are interested in, execution time power or code size
• In a very simplistic sense machine learning can be considered as sophisticated form of curve fitting.
• Theoretically predict future behaviour and find the best optimisation
Execution
OUTPUTS
. . .
.
.
.
Machine Learning based Compilation
.
.
.
.
. Program characteristics
INPUTS
M. O’Boyle
.
time
March, 2009
M. O’Boyle
Best Transformation
.
.
.
. .
.
.
.
. Program characteristics
Machine Learning based Compilation
March, 2009