Applications Performance Engineer

  • Graphcore
  • Cambridge, UK
  • 17/09/2021
Full time Data Science Data Engineering Data Analytics Big Data Data Management Statistics

Job Description

Graphcore has created a completely new processor, the Intelligence Processing Unit (IPU), specifically designed for artificial intelligence. The IPU’s unique architecture means developers can run current machine learning models orders of magnitude faster. More importantly, it lets AI researchers undertake entirely new types of work, not possible using current technologies, to drive the next great breakthroughs in general machine intelligence.

We believe our IPU technology will become the worldwide standard for artificial intelligence compute. The performance of Graphcore’s IPU is going to be transformative across all industries and sectors whether you are a medical researcher, roboticist or building autonomous cars.

Our team is at the forefront of the artificial intelligence revolution, enabling innovators from all industries and sectors to expand human potential with technology. What we do really makes a difference.

As an AI Applications Engineer you will be working as part of Graphcore’s Engineering team implementing & optimizing state-of-the-art machine learning applications using our PoplarTM SDK and IPU technology. Your work will encompass all elements of the ML application development lifecycle – including ML algorithms, convergence characteristics and computational throughput optimization, and workloads scaling from a single IPU to thousands of IPUs. You will be contributing to our open source Examples portfolio, in addition to working with our open source PyTorch, TensorFlow and PopLibs implementations..

Our work supports & enables engagements with some of the world’s top machine learning innovators at deep learning research groups, at academic institutions, at innovative machine learning start-ups, at leading automotive companies, and at some of the world’s largest cloud and internet companies.


Investigate and implement machine learning applications for the IPU
Optimize applications for time to train (including both convergence and computational throughput)
Scale applications from single IPUs to thousands of IPUs
Document best practices for application development and optimization on IPU
Work with peers in engineering teams to develop new features incorporated into future products


Demonstrable machine learning development experience or related experience writing and optimizing applications in HPC, scientific libraries, compilers, digital signal processors or GPUs
Bachelors in Engineering, Computer Science, Mathematics, Physics or similar field
Solid programming skills, and strong software development experience in Python and/or C++
Experience working with modern deep learning software architecture and frameworks including Tensorflow and/or PyTorch
Ability to multitask effectively in a fast paced environment
Action-oriented with strong analytical and problem solving skills
Keen interest to learn and keep pace with the exciting & rapidly developing field of AI
Strong written and oral communications skills with the ability to effectively interface with management and engineering
Strong team-working and excellent interpersonal skills


Masters or PhD in related computationally intensive science or engineering field
Deep experience with C++, application performance optimization, parallel programming or knowledge of computer architectures
Experience working with accelerators such as GPUs, DSPs or FPGAs
Experience using OpenMP, MPI, CUDA
Experience implementing & optimization applications for large scale compute platforms

This position can be based at our offices in Bristol, London or Cambridge in the UK or Oslo in Norway.

We welcome people of different backgrounds and experiences and are committed to building an inclusive work environment that makes Graphcore a great home for everyone. We are an equal opportunity employer and want to build a work environment where everyone is happy, productive and respectful so they can do their best work. If you have a disability or additional need that requires accommodation, just let us know.

Please note, we are only considering candidates who have an established right to work in UK for roles based in Bristol, London or Cambridge, or Norway for roles based in Oslo, Norway.