EPSRC logo
 Home | GoW Home | Back | Programme | Scheme | Topic | Sector | Theme | Region | Organisation     
 
Details of Grant
 
EPSRC Reference: GR/S71118/01
Title: Compliers that Learn to Optimise (COLO)
Principal Investigator: Professor M O'Boyle
Other Investigators:
Professor C Williams
Researcher Co-investigator:
Project Partner:
Department: Sch of Informatics
Organisation: University of Edinburgh
Scheme: Standard Research
Starts: 16 July 2004 Ends: 15 September 2007 Value (£): 299,484
EPSRC Research Topic Classifications:
Artificial Intelligence Technologies Fundamentals of Computing
Software Engineering
EPSRC Industrial Sector Classifications:
Information Technologies
Related Grants:
Panel History:  
Summary
The overall objective of this project is to develop a compiler framework that can automatically learn how to optimise programs. Rather than hard-coding a compiler strategy for each platform, we aim to develop a novel portable compiler approach that can automatically tune itself to any fixed hardware and can improve its performance over time. This is achieved by employing machine learning approaches to optimisation, where the machine learning algorithm first learns the optimisation space and then automatically derives a compilation strategy that attempts to generate the "best" optimised version of any user program. Such an approach, if successful, will have a wide range of applications. It will allow portability and performance of compilers across platforms, eliminating the human compiler-development bottleneck. It can also be applied to embedded applications, rapidly shorten the design cycle of embedded systems and enabling automatic design exploration of architectural options.
Final Report Summary
The overall objective of this project is to develop a compiler framework that can automatically learn how to optimise programs. Rather than hard-coding a compiler strategy for each platform, we aim to develop a novel portable compiler approach that can automatically tune itself to any fixed hardware and can improve its performance over time. This is achieved by employing machine learning approaches to optimisation, where the machine learning algorithm first learns the optimisation space and then automatically derives a compilation strategy that attempts to generate the "best" optimised version of any user program. Such an approach, if successful, will have a wide range of applications. It will allow portability and performance of compilers across platforms, eliminating the human compiler-development bottleneck. It can also be applied to embedded applications, rapidly shorten the design cycle of embedded systems and enabling automatic design exploration of architectural options.
Further Information:  
Organisation Website: http://www.ed.ac.uk
Terms and conditions