GPU compiler engineer at ARM, Cambridge, UK

The Media Processing Division of ARM is looking for a bright and motivated
R&D engineer to join a world-class team working on GPU (compute and
graphics) compilers for mobile and embedded devices. If you have a passion
for compiler technology, including LLVM, related work or research
experience, strong academic background and interest in parallel processing,
then we would like to hear from you!

To apply please visit
Working at arm (Job ID #
1550). For more information please contact Dr Anton Lokhmotov.

Key Accountabilities/Responsibilities
- Investigating, implementing, testing and documenting new compiler
optimisations.
- Increasing speed and reducing memory footprint of online (just-in-time)
compilers.
- Contributing support for OpenCL to the Clang/LLVM community.
- Being involved in standardisation efforts within the Khronos Group.

Education & Qualifications
- Strong academic background, preferably in computer science.
- An advanced degree and research experience beneficial.

Essential Skills
- All-around compiler knowledge: parsing, analysis, machine-independent and
machine-dependent optimisation (including vectorisation and
parallelisation), and code generation.
- Proven expertise in Clang/LLVM.
- Strong grasp of algorithms and data structures.
- Excellent programming skills in in C/C++; good knowledge of Linux.
- Effective verbal and written communication skills.
- Ability to work alone as well as in a team.
- Proactive and positive attitude.

Desirable Skills
- Knowledge of embedded CPU and GPU architectures, and operating systems,
such as Android.
- Knowledge of GPU technologies, such as OpenCL, CUDA, OpenGL (ES),
Direct3D.
- Proficiency in Python or other scripting languages.
- Exposure to large-scale software build, integration and test environments.
- Experience in contributing to open-source projects.
- Experience in multi-site software development.

Background
The Media Processing Division of ARM produces hardware and software
technology for mobile and embedded devices. Our Mali Graphics Processors
(GPUs) have an advanced, highly programmable architecture for accelerating
graphics and general-purpose compute tasks, specifically tuned for high
performance and low energy consumption. Our OpenGL ES, OpenCL and OpenVG
drivers support cutting-edge gaming and state-of-the-art user interfaces on
operating systems such as Linux and Android. To see the current Mali GPUs in
action take a look at the Mali Developer Center
(http://www.malideveloper.com).