Software Engineer
Job Summary
About Graphcore
At Graphcore were building the future of AI compute.
Were a team of semiconductor software and AI experts with deep experience in creating the complete AI compute stack - from silicon and software to infrastructure at datacenter scale.
As part of the SoftBank Group backed by significant long-term investment we are delivering key technology into the fast-growing SoftBank AI ecosystem.
To meet the vast and exciting AI opportunity Graphcore is expanding its teams around the world.
We are bringing together the brightest minds to solve the toughest problems in a place where everyone has the opportunity to make an impact on the company our products and the future of artificial intelligence.
Job Summary
As a Software Engineer you willbe responsible fordevelopment 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 atGraphcore. Kernel Engineering teamis responsible fordelivering high performance compute library to help customers gain the maximum performance from AI hardware.
Responsibilities and Duties
- 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.
- Contribute towards performance and correctness - add microbenchmarks regression tests numeric validation.
- Debug issues resolve bugs andgenerally improve the quality and functionality of the product.
- Actively engage in and support Agile ways of working within the team.
Candidate Profile
Essential:
- Excellent programming and scripting skills using C and Python.
- You thrive on solving challenging problems with creativitythink outside the box and see the bigger picture beyond the specific softwarecomponentyou are working on.
- Possess excellent written and oral communication skillsgood workethics high sense ofteam-work.
- Love to produce quality work and be a team player.
Desirable:
- Strong understanding of processor architectures.
- Experience or solid understanding 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 intoPyTorch or similar (custom ops extensions dispatch keys).
- Comfort with CPU micro-optimisations and numerical stability/trade-offs across FP32/FP16/BF16.
- ABI/API stability and packaging for Linux distrosmanylinux 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; were 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
Required Experience:
IC