Modernise Compiler Technology with Deep Learning
Lead Research Organisation:
University of Leeds
Department Name: Sch of Computing
Abstract
Today's computing systems adsorb a huge amount of the planet's resources. Datacentres consume 4% of global energy and are asked to perform increasingly computationally expensive tasks. Making the programs that run on them more efficient is of paramount importance. Compilers, which are solely responsible for optimising these programs, have changed little in the last several decades. Their middle ends are comprised of many passes with hand-built heuristics, each of which is complex and, in the aggregate, are too complex for any compiler engineer to successfully reason about.
Developing an optimising compiler is a highly skilled and arduous process, and there is inevitably a software delay whenever a new processor is designed. It often takes several generations of a compiler to start to effectively exploit the processors' potential, by which time a new processor appears, and the process starts again. This never-ending game of catch-up means that we rarely fully exploit a shipped processor, and it inevitably delays time to market.
In this project, we will investigate the use of machine learning (deep learning in particular) to automate the process of designing compiler heuristics. This project aims to improve compiler-based program optimisation techniques through deep learning. It will investigate the use of machine learning to reason about the complex program optimisation space. It will research new ways to automate the process of compiler heuristic design and demonstrate the benefit of the proposed techniques on real-world applications for performance and energy efficiency.
If successful, our work will lead to compilers that can deliver good performance on any hardware architecture and can automatically catch up with the hardware evolution. Programs will be run faster and save more energy than is currently possible.
Developing an optimising compiler is a highly skilled and arduous process, and there is inevitably a software delay whenever a new processor is designed. It often takes several generations of a compiler to start to effectively exploit the processors' potential, by which time a new processor appears, and the process starts again. This never-ending game of catch-up means that we rarely fully exploit a shipped processor, and it inevitably delays time to market.
In this project, we will investigate the use of machine learning (deep learning in particular) to automate the process of designing compiler heuristics. This project aims to improve compiler-based program optimisation techniques through deep learning. It will investigate the use of machine learning to reason about the complex program optimisation space. It will research new ways to automate the process of compiler heuristic design and demonstrate the benefit of the proposed techniques on real-world applications for performance and energy efficiency.
If successful, our work will lead to compilers that can deliver good performance on any hardware architecture and can automatically catch up with the hardware evolution. Programs will be run faster and save more energy than is currently possible.
Organisations
Studentship Projects
Project Reference | Relationship | Related To | Start | End | Student Name |
---|---|---|---|---|---|
EP/T517860/1 | 01/10/2020 | 30/09/2025 | |||
2596456 | Studentship | EP/T517860/1 | 01/10/2021 | 31/03/2025 | Patrick Lenihan |