Compilers are responsible for making the programs that run on computers as fast and energy efficient as possible. The problem is that they are hard to build and always out of date as technology progresses. This project explored using ideas developed in artificial intelligence, namely machine learning, as a new way of building compilers.
This has been a highly productive project which has shown that machine learning can be used to automate compiler optimisation where the key advances can be grouped into five general areas:
1. Focussed search - using models to speed search for good optimisations
2. Automatically predicting the best optimisation
3. Predicting performance in the compiler and hardware space
4. Task transference: machine learning for multi-tasks
5. Exploring impact of data and features on learning and performance.