At a Glance
- Tasks: Join us to develop high-performance ML kernels for cutting-edge AI hardware.
- Company: Graphcore, a leader in AI innovation and part of the SoftBank Group.
- Benefits: Flexible working, competitive salary, private medical insurance, and generous leave policies.
- Other info: Inclusive culture with excellent career growth opportunities and a vibrant office environment.
- Why this job: Make a real impact in AI while learning from industry experts.
- Qualifications: Bachelor's or Master's in Computer Science or related field; C/C++ experience required.
The predicted salary is between 20000 - 30000 £ per year.
About Us
Graphcore is one of the world’s leading innovators in Artificial Intelligence compute. It is developing hardware, software and systems infrastructure that will unlock the next generation of AI breakthroughs and power the widespread adoption of AI solutions across every industry. As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for some of the world’s most transformative technologies. Together, they share a bold vision: to enable Artificial Super Intelligence and ensure its benefits are accessible to everyone. Graphcore’s teams are drawn from diverse backgrounds and bring a broad range of skills and perspectives. A melting pot of AI research specialists, silicon designers, software engineers and systems architects, Graphcore enjoys a culture of continuous learning and constant innovation.
Job Summary
We are looking for a Software Engineering Intern to join a team pioneering the development of high-performance machine learning (ML) kernels for a new generation of AI hardware. In this role, you will contribute to building optimised compute kernels that support a wide range of ML operators—powering applications from convolutional neural networks (CNNs) to large language models (LLMs). You’ll leverage low-level programming and hardware-aware optimisation techniques to extract maximum performance and efficiency from modern accelerators. This is a unique opportunity to work at the intersection of ML, numerical computing, and scalable systems.
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
- Supporting the design and implementation of kernels for linear algebra and tensor ops (GEMM, batched GEMM, convolutions, reductions, elementwise and fused operations) in C++
- Profile and optimise for the next generation of AI hardware - threading, cache locality, memory layout, and kernel launch efficiency.
- Support performance and correctness - add microbenchmarks, regression tests, numerics validation
- Debug issues, resolve bugs and generally improve the quality and functionality of the product
About you
You are open-minded and collaborative with interests in performance optimisation and memory-efficient designs, and you are looking to join a team of experts. You are comfortable to discuss technical tradeoffs, receive feedback and iterate on solutions and you are drawn to technically challenging problems and use analytical reasoning to navigate unfamiliar domains.
Essential
- Bachelor or Master's Degree in Computer Science, Maths, Machine Learning, Data Science, or related field
- Experience in C/C++11.
- Familiarity with Python or scripting tools for automation and testing.
- Understanding of linear algebra, numerical methods, or scientific computing.
- Good problem-solving skills and ability to work collaboratively in a fast-paced environment.
Preferred Qualifications
- Courseworks or past experience in using ML frameworks, parallel programming, or code optimisation.
- Exposure to math libraries such as MKL or OpenBLAS.
- Knowledge of performance analysis tools.
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.
2026 Summer Intern - Software Engineering - ML Kernels & Runtime Team employer: Cerebras
Contact Detail:
Cerebras Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land 2026 Summer Intern - Software Engineering - ML Kernels & Runtime Team
✨Tip Number 1
Network like a pro! Reach out to current or former employees at Graphcore on LinkedIn. A friendly chat can give you insider info and maybe even a referral, which can really boost your chances.
✨Tip Number 2
Prepare for technical interviews by brushing up on your C++ skills and understanding ML concepts. Practice coding problems related to linear algebra and numerical methods, as these are key for the role.
✨Tip Number 3
Show your passion for AI and machine learning during interviews. Share any personal projects or coursework that demonstrate your skills and interest in performance optimisation and memory-efficient designs.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the Graphcore team.
We think you need these skills to ace 2026 Summer Intern - Software Engineering - ML Kernels & Runtime Team
Some tips for your application 🫡
Show Your Passion for AI: When writing your application, let us see your enthusiasm for AI and machine learning. Share any projects or experiences that highlight your interest in these areas, especially if they relate to performance optimisation or numerical computing.
Tailor Your CV and Cover Letter: Make sure to customise your CV and cover letter for this role. Highlight your experience with C/C++ and any relevant coursework or projects that demonstrate your skills in linear algebra and scientific computing. We want to see how you fit into our team!
Be Clear and Concise: Keep your application clear and to the point. Use straightforward language to describe your experiences and skills. We appreciate a well-structured application that makes it easy for us to see your qualifications at a glance.
Apply Through Our Website: Don’t forget to apply through our website! It’s the best way for us to receive your application and ensures you’re considered for the role. Plus, it gives you a chance to explore more about what we do at Graphcore.
How to prepare for a job interview at Cerebras
✨Know Your Stuff
Make sure you brush up on your C/C++ skills, especially with the latest standards like C++11. Familiarise yourself with linear algebra and numerical methods, as these are crucial for the role. Being able to discuss these topics confidently will show that you're serious about the position.
✨Show Off Your Problem-Solving Skills
Prepare to tackle some technical questions or coding challenges during the interview. Think through your approach to problem-solving and be ready to explain your reasoning. This is a great chance to demonstrate your analytical skills and how you navigate complex issues.
✨Get Familiar with ML Frameworks
If you have experience with machine learning frameworks or performance analysis tools, make sure to highlight this in your interview. Graphcore is looking for someone who can optimise compute kernels, so any relevant coursework or projects will give you an edge.
✨Be Open to Feedback
Graphcore values collaboration and iteration, so be prepared to discuss how you handle feedback. Share examples of how you've worked with others to improve your solutions or learn from critiques. This will show that you're a team player and willing to grow.