Software Engineer - ML Kernels & Runtime

Graphcore · Gdańsk, Pomeranian Voivodeship, Poland
full-time mid Posted 1 hour ago

About this role

Salary Range: PLN 196,400 - 265,700  Subject to alignment to the responsibilities and duties of the role About Graphcore  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 liner algebra operations on a new generation of AI hardware.   The Team   This is an exciting opportunity to join an expanding team at Graphcore. Kernel Engineering 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++.   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 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.   Hands-on with at least one BLAS/DNN stack and able 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. ABI/API stability and packaging for Linux distros,  manylinux , wheels. Benefits In addition to a competitive salary, Graphcore offers annual leave policy, medical and dental health plans, a gym card, and employee pension (matched up to 4%). We review our benefits on a yearly basis to ensure we offer a valuable and rewarding benefits programme to our employees. 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.

Similar Jobs

Related searches:

On-site Jobs Mid-Level Jobs On-site Mid-Level Jobs Mid-Level Machine Learning pytorch

Get jobs like this delivered weekly

Free AI jobs newsletter. No spam.