Enable job alerts via email!

Software Engineer

Graphcore

Bristol

On-site

GBP 80,000 - 100,000

Full time

Today
Be an early applicant

Job summary

A leading AI hardware company is seeking a Software Engineer to develop and optimize kernels for linear algebra operations. The ideal candidate will have strong skills in C++ and Python, and a passion for building inclusive environments. This role offers competitive salary, flexible working, and various employee benefits, all aimed at promoting diversity and innovative work practices.

Benefits

Flexible working
Generous annual leave
Private medical insurance
Health cash plan
Employee assistance program

Qualifications

  • Excellent programming skills in C++ and Python.
  • Strong understanding of processor architectures.
  • Good communication skills and teamwork.
  • Experience with CPU micro-optimisations.

Responsibilities

  • Design and implement kernels for linear algebra and tensor operations.
  • Profile and optimize performance for AI hardware.
  • Mentor colleagues and engage in Agile work.

Skills

C++ programming
Python scripting
Understanding of processor architectures
Algorithmic performance
Profiling on Linux

Tools

BLAS/DNN stack
Job description
Job Summary

As a Software Engineer you will be responsible for development of new and support existing kernels for liner algebra operations on a new generation of AI hardware.

The Team

This is an exciting opportunity to join an expanding team at Graphcore. Kernel Engineering team is responsible for delivering high performance compute library to help customers gain the maximum performance from AI hardware.

Responsibilities and Duties
  • Design and implement kernels for linear algebra and tensor ops (GEMM, batched GEMM, convolutions, reductions, elementwise and fused operations) in C++
  • Profile and optimise across for next generation of AI hardware - threading, cache locality, memory layout, and kernel launch efficiency.
  • Own performance and correctness - add microbenchmarks, regression tests, numerics validation
  • Debug issues, resolve bugs and generally improve the quality and functionality of the product
  • Mentor colleagues within the team, sharing knowledge and providing guidance where appropriate
  • Actively engage in and support Agile ways of working within the team
Candidate Profile
  • Excellent programming and scripting skills using C++ and Python
  • Strong understanding of processor architectures
  • Possess excellent written and oral communication skills, good work ethics, high sense of team-work
  • Love to produce quality work and be a team player
  • Strong command of algorithmic performance - vectorisation, memory hierarchy, threading, lock-free patterns, and profiling on Linux
  • Hands-on with at least one BLAS/DNN stack and able to read/extend kernels
  • Experience integrating native code into PyTorch or similar (custom ops, extensions, dispatch keys)
  • Comfort with CPU micro-optimisations and numerical stability/trade-offs across FP32/FP16/BF16/FP8
  • ABI/API stability and packaging for Linux distros, manylinux, wheels

In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance and health cash plan, a dental plan, pension (matched up to 5%), life assurance and income protection. We have a generous parental leave policy and an employee assistance programme (which includes health, mental wellbeing, and bereavement support). We offer a range of healthy food and snacks at our central Bristol office and have our own barista bar! We welcome people of different backgrounds and experiences; we’re committed to building an inclusive work environment that makes Graphcore a great home for everyone. We offer an equal opportunity process and understand that there are visible and invisible differences in all of us. We can provide a flexible approach to interview and encourage you to chat to us if you require any reasonable adjustments.

Applicants for this position must hold the right to work in the UK. Unfortunately at this time, we are unable to provide visa sponsorship or support for visa applications

By checking this box, I consent to Graphcore collecting, storing, and processing my responses to the demographic data surveys above. *

UK Demographic Data: We take pride in our commitment to creating an inclusive and diverse workplace. As part of our recruitment process, we ask for confidential diversity data from all applicants. This data will be anonymised so that no personal identification information will be collected, and is retained for statistical purposes only and is not attached to your application. Your responses to the following three questions will remain confidential and will not impact or be used in any way in regards to your application. We are only using this data to improve our hiring process to be inclusive of all diversity backgrounds.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.