Overview
Applications are invited for a PhD student to work on machine‑learning guided and verifiably correct code generation.
Creating optimised libraries is a difficult and time‑consuming task, requiring significant manual engineering effort. This process must be repeated for each new processor to take advantage of additional features, especially when it implements the latest architecture with new instructions or significant new architectural extensions, like Arm’s SVE and SME. However, advances in machine learning point towards a low‑cost solution to this task by automating code generation through a series of provably correct steps. A machine‑learning model will guide the search for optimised code sequences, learning the best instructions to use for given intermediate code fragments and alleviating manual engineering effort.
The successful candidate will develop new code‑generation strategies using machine‑learning models and verification tools, suitable for deployment by library writers within the compilation toolchain, working closely with project partner, Arm.
Responsibilities
- Develop new code‑generation strategies guided by machine‑learning models and verification tools.
- Deploy optimized code sequences within the compilation toolchain for library writers.
- Collaborate closely with the project partner, Arm.
- Apply provably correct methods to automate code generation for new processor architectures.
- Work collaboratively using robust engineering practices such as version control, continuous integration, and automated testing.
Qualifications
- Strong background in Computer Science (1st class honours degree or equivalent; a Master’s is particularly desirable).
- Interest and knowledge in compilers or binary modification tools and machine learning.
- Experience writing code for tools such as LLVM or DynamoRIO.
- Familiarity with teamwork and robust engineering practices.
#J-18808-Ljbffr…
