
Graphcore · Gdańsk
SALARY RANGE: PLN 260,000 - 352,000 PLN Subject to alignment to the responsibilities and duties of the role ABOUT GRAPHCORE At Graphcore, we’re building t...
Subject to alignment to the responsibilities and duties of the role
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
As a Senior Software Engineer in the Collectives Simulator team, you will drive the design and development of a large-scale
collective communication simulator that enables the analysis of network parameters and the efficient implementation of
communication algorithms. The ideal candidate will have experience in designing, developing, and maintaining complex software
systems involving custom hardware. You will be responsible for leading development efforts, mentoring junior engineers, and
driving technical excellence in our projects.
The Collectives team is responsible for building the Collectives Communication library for new AI hardware Graphcore is working
on. The library provides communication primitives optimized to achieve high bandwidth and low latency at very high scale.
applications
AI/ML and HPC systems
deployments (for example GitHub Actions, GitLab CI)
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.
SALARY RANGE: PLN 260,400 - 352,200 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 Senior Software Engineer in the ML Software Performance Analysis team, you will play a critical role in ensuring end-to-end performance excellence of our proprietary AI hardware and software stack. You will directly report to the Performance Analysis Team Lead and collaborate closely with component teams, including ML Framework developers, Compiler and Runtime teams, Infrastructure engineers, and Product Management. Your work will directly influence the efficiency and scalability of our ML software solutions, significantly impacting our business by enabling reliable and performant AI solutions for customers. 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. We work closely with both internal partners and external collaborators to ensure our solutions meet the highest standards of performance, efficiency, and scalability. Our core responsibilities include: * ML Software Stack Performance Reports – We publish regular reports that provide a comprehensive view of the performance status of the ML software stack * End-to-End Performance Optimization – We take a holistic approach to performance, ensuring that local optimizations do not lead to global regressions. Our work spans component boundaries, enabling balanced and efficient performance across the entire stack RESPONSIBILITIES AND DUTIES * Own performance analysis across the full ML stack, from model execution down to hardware utilization * Identify bottlenecks and regression trends using profiling, benchmarking, and deep system analysis * Drive cross-team optimizations involving frameworks, compilers, runtime, and infrastructure * Design and maintain benchmarking environments for synthetic, focused benchmarks up to large-scale ML workloads * Produce performance reports that translate low-level findings into actionable insights * Ensure local optimizations improve global system performance, not just isolated components * Partner with engineering teams to guide performance improvements and validate impact CANDIDATE PROFILE ESSENTIAL: * A passion for your work and the ability to thrive in uncertain and complex environments * Strong programming skills in Python/C/C++, with a focus on performance-sensitive applications * Solid understanding of computer architecture, performance profiling, and low-level system behaviour (CPU, memory, I/O) * Experience with benchmarking and analysing complex, distributed systems * Familiarity with Linux-based development environments and tools * Strong problem-solving skills and ability to interpret and communicate performance data clearly DESIRABLE * Knowledge of ML frameworks (ideally PyTorch) and their performance characteristics * Experience with performance analysis in GPU-accelerated environments (CUDA, ROCm, etc.) * Familiarity of hardware performance characteristics especially in ML context including high-speed networking (e.g. RoCE, RDMA) * Familiarity with distributed computing frameworks (ideally collectives experience) * Experience building dashboards or visualizations for performance monitoring (e.g., Grafana, Prometheus, or custom tooling) * Exposure to performance regression tracking and CI pipelines for performance validation 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.
SALARY RANGE: PLN 260,000-352,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 engineer to design and evolve an application-level simulator for ML workloads that directly influences hardware and software architecture decisions. This role sits at the intersection of machine learning, systems, and hardware design. You will model real-world workloads, predict system behaviour, and provide insights that guide how our platform evolves. Success in this role requires not only strong technical depth, but also the ability to work closely with multiple teams to ensure the simulator reflects reality and drives meaningful decisions. THE TEAM The Tenjin team focuses on building advanced simulation capabilities to model and predict the behaviour of large-scale ML workloads on next-generation hardware and software platforms. We operate at the intersection of machine learning, systems, and architecture, developing tools that enable data-driven decisions long before systems are fully built or deployed. Our work helps shape both hardware and software direction by providing early insights into performance, scalability, and efficiency. The team brings together engineers with backgrounds in simulation, ML systems, and computer architecture. We collaborate closely with ML engineers, performance teams, and silicon architects, but operate as an independent group focused on simulation as a core capability. RESPONSIBILITIES AND DUTIES * Design and evolve an ML application-level simulator that models workload execution, system behaviour, and resource usage * Translate real-world workloads and benchmarking data into accurate simulation models * Validate simulator outputs against real system measurements and continuously improve fidelity * Build scalable, maintainable components that support evolving hardware and software capabilities * Work closely with performance engineers, ML teams, and silicon architects to ensure the simulator reflects real use cases * Drive adoption of the simulator as a decision-making tool across the organisation CANDIDATE PROFILE ESSENTIAL: * Strong C++ development experience, especially in performance-sensitive or large-scale systems * Strong Python skills and familiarity with ML frameworks (e.g. PyTorch) and execution graphs * Solid understanding of computer architecture, memory hierarchy, and heterogeneous systems * Familiarity with ML accelerator concepts (e.g. tensor cores, compute tiles, high-bandwidth memory) DESIRABLE * Understanding of modern ML architectures (e.g. transformers, MoE) in training and inference * Experience with simulators or performance models (hardware or distributed systems) * Knowledge of parallelism models and their mapping to hardware * Experience with profiling and debugging complex, multi-layer 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.
The impact you will have on the role Design, implement, and maintain fullstack features for high-performance, customer-centric experiences across the Nivoda platform, ensuring scalability, reliability, and security. Build and iterate on frontend interfaces that are fast, accessible, and delightful to use. Ensure adherence to best practices, coding standards, and quality guidelines throughout the development lifecycle. Collaborate with product managers, architects, and stakeholders to define technical requirements and translate business needs into technical solutions. Debug and resolve complex technical issues, providing timely support to internal teams and external customers. Collaborate with cross-functional teams to identify and prioritize customer requirements and feedback. Mentor junior developers and improve the quality of engineering work in the broader team. Actively participate in discussions to improve the overall customer experience on the Nivoda platform.