Software Engineer

Software Engineer

Full-Time 60000 - 80000 € / year (est.) Home office (partial)
C

At a Glance

  • Tasks: Develop and optimise software for cutting-edge AI hardware.
  • Company: Join Graphcore, a leader in AI compute technology.
  • Benefits: Enjoy flexible working, generous leave, and health benefits.
  • Other info: Inclusive culture with excellent career growth opportunities.
  • Why this job: Make a real impact in the fast-growing AI industry.
  • Qualifications: Strong C++ and Python skills; problem-solving mindset.

The predicted salary is between 60000 - 80000 € per year.

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 datacentre 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 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 teamwork.
  • 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 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; 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.

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.

Software Engineer employer: Cerebras

Graphcore is an exceptional employer, offering a dynamic work environment in the heart of Bristol where innovation thrives. With a strong commitment to employee well-being, we provide flexible working arrangements, generous leave policies, and comprehensive health benefits, all while fostering a culture of inclusivity and collaboration. Join us to be part of a pioneering team that not only values your contributions but also supports your professional growth in the rapidly evolving field of AI technology.

C

Contact Detail:

Cerebras Recruiting Team

StudySmarter Expert Advice🤫

We think this is how you could land Software Engineer

Tip Number 1

Network like a pro! Reach out to current employees at Graphcore on LinkedIn or other platforms. A friendly chat can give you insider info and might even lead to a referral, which is always a bonus!

Tip Number 2

Prepare for the technical interview by brushing up on your C++ and Python skills. Practice coding challenges that focus on linear algebra and tensor operations, as these are key for the role. We’ve got resources on our website to help you ace those tricky questions!

Tip Number 3

Show off your problem-solving skills! During interviews, be ready to discuss how you've tackled complex issues in the past. Use examples that highlight your creativity and teamwork, as these traits are super important at Graphcore.

Tip Number 4

Don’t forget to follow up after your interview! A quick thank-you email can leave a lasting impression. Plus, it shows your enthusiasm for the role. And remember, apply through our website for the best chance of landing that dream job!

We think you need these skills to ace Software Engineer

C++ Programming
Python Scripting
Kernel Development
Linear Algebra Operations
Performance Optimisation
Debugging Skills
Agile Methodologies

Some tips for your application 🫡

Show Off Your Skills:When you're writing your application, make sure to highlight your programming and scripting skills in C++ and Python. We want to see how you tackle challenging problems, so share examples that showcase your creativity and problem-solving abilities!

Tailor Your Application:Don’t just send a generic application! Take the time to tailor your CV and cover letter to match the job description. Mention specific responsibilities and duties from the listing that excite you and how your experience aligns with them.

Communicate Clearly:Since we value excellent communication skills, ensure your written application is clear and concise. Use straightforward language and structure your thoughts logically. This will help us see your ability to communicate effectively, which is key for teamwork!

Apply Through Our Website:We encourage you to apply directly through our website. It’s the best way to ensure your application gets into the right hands. Plus, it shows us you’re genuinely interested in joining our team at Graphcore!

How to prepare for a job interview at Cerebras

Know Your Kernels

Before the interview, brush up on your knowledge of linear algebra operations and kernel implementations. Be ready to discuss specific algorithms like GEMM and convolutions, and how you would optimise them for performance on AI hardware.

Show Off Your Coding Skills

Prepare to demonstrate your C++ and Python skills during the interview. You might be asked to solve a coding problem or explain your thought process while debugging an issue. Practising common coding challenges can help you feel more confident.

Communicate Clearly

Since excellent communication is key, practice explaining complex technical concepts in simple terms. This will not only showcase your understanding but also your ability to work well in a team, which is crucial for this role.

Understand the Company Culture

Familiarise yourself with Graphcore's mission and values. Be prepared to discuss how your personal work ethic aligns with their commitment to teamwork and innovation. Showing that you fit into their culture can set you apart from other candidates.