Location: | Cambridge |
---|---|
Salary: | £29,605 to £44,263 per annum |
Hours: | Full Time |
Contract Type: | Fixed-Term/Contract |
Placed On: | 8th August 2024 |
---|---|
Closes: | 18th August 2024 |
Job Ref: | NR42806 |
Fixed-term: The funds for this post are available for one year in the first instance, with potential renewal on a yearly basis.
Applications are invited for a Research Assistant or Research Associate (PostDoc) to join the Compiler Lab in the Department of Computer Science and Technology at the University of Cambridge, UK.
You will work together with a team of students and research collaborators on the development of formally verified compiler infrastructure. In particular, our objective is to build technology that brings formally verified compilation into the day-to-day use of the LLVM/MLIR compiler ecosystem. In this context, we use and contribute to the Lean4 proof assistant where we build foundational technology, e.g., a powerful BitVector library, technology for coindictive proofs, an embedding of MLIR's SSA data structures into lean, or a model of instruction-set level semantics. While we have a clear objective, the path towards this objective is very flexible. We may investigate automation via synthesis-guided superoptimization, improvements to interactive-theorem-prover-based verification, or follow some of your ideas. All our work is developed in close collaboration with the open-source community. Hence, we appreciate interest or even experience in large-scale open-source software development.
The successful applicant at the Research Associate level will possess a PhD in computer science or equivalent experience in compiler design and/or interactive theorem proving, and a track record of relevant scientific publications, whereas at the Research Assistant level must hold Masters results in Computer Science or equivalent experience. Excellent spoken and written English is essential for this role. We particularly encourage applicants who are enthusiastic about our project, even if their background and expertise are only tangentially related to this position.
Appointment at Research Associate level is dependent on having a PhD. Those who have submitted but not yet received their PhD will be appointed at Research Assistant level, which will be amended to Research Associate once the PhD has been awarded.
The Compiler Lab in the Department of Computer Science & Technology aims to use strong theoretical reasoning to bring innovations to real-world compilation and programming language problems. We aim to rethink performance programming by re-connecting developers and compilers. Today, performance programming is no longer limited to optimizing low-level code. It often includes using domain-specific compilers, constraint programming libraries, complex performance models, and automatic (potentially learned) strategies to search for optimal code transformations. To enable such search, we contribute to open-source compilers such as LLHD/CIRCT, develop constraint programming libraries such as MLIR's FPL (http://grosser.science/FPL), and high-productivity compilers such as xDSL (https://xdsl.dev).
To apply online for this vacancy and to view further information about the role, please click on the Apply button above.
The Department of Computer Science and Technology is an academic department that encompasses computer science along with many aspects of engineering, technology, and mathematics. We have a worldwide reputation for academic research and consistently top research ratings.
The Department has an open and collaborative culture, supporting revolutionary fundamental computer science research, strong cross-cutting collaborations internally and externally, and ideas that transform computing outside the University.
Please follow the link at https://www.cst.cam.ac.uk to find out more about our Department.
Applicants should contact Tobias Grosser for further information at http://www.grosser.science.
The University actively supports equality, diversity and inclusion and encourages applications from all sections of society.
Type / Role:
Subject Area(s):
Location(s):