Senior Software Engineer - ML Kernels & Runtime
As a Senior Software Engineer at Graphcore, you will be responsible for developing and supporting kernels for linear algebra operations on a new generation of AI hardware. You will join the Kernel Engineering team, which focuses on delivering high-performance compute libraries to help customers maximize the performance of AI hardware.
Your key responsibilities will include designing and implementing kernels for linear algebra and tensor operations in C++, profiling and optimizing performance for next-generation AI hardware, and ensuring correctness through microbenchmarks and regression tests. Additionally, you will debug issues, resolve bugs, and improve the quality and functionality of the product.
The ideal candidate will have excellent programming and scripting skills in C++ and Python, a strong understanding of processor architectures, and experience with profiling on Linux. Excellent written and oral communication skills, good work ethics, and a high sense of teamwork are essential. Desirable qualifications include a strong command of algorithmic performance, experience with BLAS/DNN stacks, and familiarity with integrating native code into frameworks like PyTorch.
Graphcore offers a competitive salary, flexible working arrangements, a generous annual leave policy, private medical insurance, a health cash plan, a dental plan, pension matching up to 5%, life assurance, and income protection. Additional benefits include a generous parental leave policy, an employee assistance program, and a range of healthy food and snacks at the central Bristol office, which also features a barista bar.
Joining Graphcore means being part of a team at the forefront of the machine intelligence revolution, enabling innovators from all industries to build AI-native products that expand human potential. The company fosters a culture of continuous learning and constant innovation, providing opportunities for personal and professional growth.