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 Performance Engineer you will be working as part of Graphcore’s Engineering team optimizing & evaluating state-of-the-art machine learning applications using both our PoplarTM SDK and IPU technology, as well as generally available competitive processor architectures. Your work will focus on understanding performance characteristics for key ML applications on IPUs, working with our infrastructure team to build out our benchmarking infrastructure and generating comparative results for alternative architectures.

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.

Core responsibilities

  • Optimize & evaluate machine learning applications for the IPU
  • Investigate performance of key ML applications on competitive processor architectures
  • Work with our Infrastructure teams to develop & optimize our benchmark test infrastructure
  • Work with our applications group as a domain specialist in performance analysis and optimization as they implement large scale end-to-end machine learning applications


  • Solid programming skills, and strong software development experience in Python and/or C++
  • Experience with whole-system application performance debugging & optimization
  • Experience working with accelerators such as GPUs, DSPs or FPGAs
  • 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 team-working and excellent interpersonal skills


  • Demonstrable machine learning development experience or related experience writing and optimizing applications in HPC, scientific libraries, compilers, digital signal processors or GPUs.
  • Deep experience with C++, parallel programming or knowledge of computer architectures
  • Experience implementing & optimization applications for large scale compute platforms
  • Experience with GCP, AWS, Azure or similar cloud infrastructures

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.

Apply for this Job

* Required