Graphcore

Software Engineer - AI Compute Libraries & Performance

4d ago
Europe
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