Improving accelerator integration with user code by automatically learning behavioural models

Lead Research Organisation: University of Edinburgh
Department Name: Sch of Informatics


An increasing number of computational problems are now best implemented using heterogeneous accelerator devices or specialised libraries. These accelerators can provide significant performance improvements, but require extra work to integrate into programs, and are often not portable. Ideally, the compiler should be able to perform this task automatically. Existing work allows for code to be matched to a known accelerator, but requires a significant compiler pass to be written for each one. My work aims to automatically learn models for accelerator behaviour, so that they can be automatically integrated with the compiler.
One approach to this problem is to use program synthesis to automatically discover programs with equivalent behaviour to an accelerator interface. Using this approach, a wide range of programs from commonly used accelerator libraries across several different problem domains can be synthesised and matched to real-world code. My approach uses ideas from two-phase type-directed program synthesis in a novel application area, and can be easily extended to new patterns and components. Future work will include an evaluation of how this approach compares to other synthesis approaches by reproducing their results.
A different approach is to model accelerator behaviour using neural networks, and to integrate approximate machine-learning approaches with the typically precise approach taken by program synthesis methods. Another interesting direction is to perform machine-learning analysis of large quantities of application source code in order to learn properties and heuristics of code that calls accelerators, so that similar code can be searched for and optimised.


10 25 50

Studentship Projects

Project Reference Relationship Related To Start End Student Name
EP/R512242/1 30/09/2017 30/05/2022
2100096 Studentship EP/R512242/1 31/08/2017 30/08/2021 Bruce Stewart Collie