Graphcore

ML Application Simulator Software Engineer

Graphcore Gdańsk, Pomeranian Voivodeship, Poland 1 day ago
engineering

Salary Range: PLN 303,800 - 411,000

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 

We 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 Team 

The 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.

Candidate Profile 

Essential:

  • 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.

Desirable

  • 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.

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.

Sponsored

Explore Engineering

Skills in this job

People also search for