Adaptive Parallel Optimising Compilation using Machine Learning

A PhD studentship is available to study Adaptive Parallel Optimising Compilation Optimisation for Parallel Programs using Machine Learning. The studentship will be held under the supervision of Prof. Michael O'Boyle, within the Institute for Computing Systems Architecture, at the School of Informatics, University of Edinburgh, to begin in 2009, start date flexible. The studentship is funded under the umbrella of the Centre for Numerical Algorithms and Intelligent Software.


Multi-core processors are the most viable means to delivering sustainable performance. However, this potential cannot be realised unless the application has been well parallelised. Unfortunately, efficient parallelisation of a sequential program is a challenging and error-prone task. It is generally agreed that manual code parallelisation by expert programmers results in the most streamlined parallel implementation, but at the same time this is the most costly and time-consuming approach. Parallelising compiler technology, on the other hand, has the potential to greatly reduce cost and time-to-market while ensuring formal correctness of the resulting parallel code. Given that the underlying processor architecture will change many times throughout the lifetime of the code, we would like parallel programs that are performance future proof too.


The project student will investigate new compiler directed approaches to delivering performance in a multi-core environment where the data input, concurrent workload and underlying architecture are evolving. Probabilistic analysis can be used to determine program parallelism which can then be mapped to available resources. Central to this work will be the use of machine learning as a technique to learn and adapt the parallel code to this changing parallel landscape. The CaRD group at Edinburgh is internationally leading in the use of machine learning for compiler and architecture co-design and optimisation - this will form the backbone to this project.

Candidate Profile

Suitable candidates will have a strong first degree in Computer Science and a strong interest in parallel programming, optimizing compilers or machine learning. We are looking for the brightest minds to pursue research in a cutting-edge arena.

Applying for the Studentship

Candidates are encouraged to contact Michael O'Boyle to informally discuss the project further. Formal application will be through the School's normal PhD application process.