Overview
Join to apply for the Software Engineer role at Graphcore.
About Graphcore: Graphcore is one of the world’s leading innovators in Artificial Intelligence compute. It develops hardware, software and systems infrastructure to unlock the next generation of AI breakthroughs and power the widespread adoption of AI solutions across every industry. As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for transformative technologies. Graphcore’s teams are drawn from diverse backgrounds and bring a broad range of skills and perspectives, including AI research specialists, silicon designers, software engineers and systems architects. The company cultivates a culture of continuous learning and innovation.
Job Summary
As a Software Engineer you will be responsible for the development of new and support of existing kernels for linear algebra operations on a new generation of AI hardware.
The Team
This is an exciting opportunity to join an expanding team at Graphcore. The Kernel Engineering team is responsible for delivering a 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 operations (GEMM, batched GEMM, convolutions, reductions, elementwise and fused operations) in C++
* Profile and optimise for the next generation of AI hardware, focusing on threading, cache locality, memory layout, and kernel launch efficiency
* Own performance and correctness by adding microbenchmarks, regression tests, and 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
Essential
* Excellent programming and scripting skills using C++ and Python
* Strong understanding of processor architectures
* Excellent written and oral communication skills, good work ethics, and strong teamwork
* Ability to produce quality work and be a team player
Desirable
* Strong command of algorithmic performance - vectorisation, memory hierarchy, threading, lock-free patterns, and profiling on Linux
* Hands-on experience with at least one BLAS/DNN stack and ability 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
Benefits
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.
#J-18808-Ljbffr