Graphcore
Software Engineer - AI Compute Libraries & Performance
4d ago
Europec++linear algebratensor operationsperformance optimizationgpu programming
Development of high-performance AI compute kernels for linear algebra operations on next-generation AI hardware.
Conditions
- In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance, 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 enco
- 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.
Other
- At Graphcore, we’re building the future of AI compute.
- We’re 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 will be responsible for development of new and support 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 ML Kernels & Runtime team is responsible for delivering 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++
- Contribute towards performance and correctness - add microbenchmarks, regression tests, numerics validation
- Profile and optimise across for next generation of AI hardware - threading, cache locality, memory layout, and kernel launch efficiency.
- Debug issues, resolve bugs and generally 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 creativity, think outside the box , and see the bigger picture beyond the specific software component you are working on.
- 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
- Desirable
- Strong understanding of processor architectures
- Experience or solid understanding of algorithmic performance - vectorisation, memory hierarchy, threading, lock-free patterns, and profiling on Linux
- Knowledge of at least one BLAS/DNN stack and able to read/extend kernels
- Awareness about CPU micro-optimisations and numerical stability/trade-offs across FP32/FP16/BF16