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 SummaryWe are looking for a Senior Software Engineer to design, develop, and maintain an application-level ML simulator for a new product within our ML Software Performance Analysis team. This simulator will model end-to-end ML workloads, provide actionable insights into system-level performance, and guide architectural and software optimizations. The role involves close collaboration with performance engineers, ML researchers, and the silicon architecture team to ensure the simulator evolves alongside real workloads and supports key decision-making across the organisation.
The TeamThe ML Software Performance Analysis team is a part of the wider ML Software Engineering organisation, responsible for delivering optimised, proprietary machine learning solutions. Our team consists of experienced engineers and domain experts focused on rigorous performance benchmarking, in-depth analysis, and cross-layer optimization from single chip to large-scale, distributed systems.
Responsibilities and Duties- Design, implement, and evolve an ML application-level simulator that models workload behaviours, execution flows, and system resource usage.
- Partner with performance analysts to translate benchmarking requirements and real-world observations into accurate simulator features.
- Develop scalable, maintainable, and well-tested software components to support new hardware and software capabilities.
- Validate simulator outputs against real system measurements and iterate to improve fidelity and predictive accuracy.
- Collaborate across ML engineering, system architecture, and product teams to ensure simulation insights feed into product design and optimisation.
- A passion for your work and the ability to thrive in uncertain and complex environments.
- Strong C++ development skills, with experience in building performance-sensitive or large-scale simulation tools.
- Strong Python skills and knowledge of ML frameworks (such as PyTorch) and the typical operator graphs produced during compilation.
- Deep understanding of computer architecture concepts, memory hierarchy, caching behaviour, and heterogeneous compute systems.
- Familiarity with ML accelerator architectures, especially concepts such as tensor cores, compute tiles, and high-bandwidth data movement.
- Knowledge of ML model architectures including transformers, attention techniques and mixture of experts. Familiarity with operation in both training and inference.
- Hands-on experience designing or using simulators (functional or performance models), preferably for hardware or distributed ML systems.
- Strong grasp of parallelism models (threading, vectorization, task scheduling) and how they map to hardware. Ideally experience of how parallelism is applied to ML model architectures.
- Proficiency with profiling, instrumentation, and debugging complex multi-layered systems.
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.
Top Skills
What We Do
Graphcore has created a new processor, the Intelligence Processing Unit (IPU), specifically designed for artificial intelligence. The IPU’s unique architecture means developers can run current machine learning models orders of magnitude faster. More importantly, it lets AI researchers undertake entirely new types of work, not possible using current technologies, to drive the next great breakthroughs in general machine intelligence.
Our next generation 3D Wafer-on-Wafer Bow IPU systems are helping AI innovators worldwide to build better, more innovative AI solutions, whether their focus is on language and vision, exploring graph neural networks and LSTMs or creating something entirely new.
We believe our IPU technology will become the worldwide standard for artificial intelligence compute. The performance of Graphcore’s IPU is going to be transformative across all industries and sectors whether you are a medical researcher, roboticist or building autonomous cars.
Our team is at the forefront of the artificial intelligence revolution, enabling innovators from all industries and sectors to expand human potential with technology. What we do, really makes a difference.
We're always interested in hearing from exceptional people to join our team.






