About the company
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. 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.
Responsibilities
- Learn and extend existing Arm diagnostics tools to support Graphcore’s AI platform.
- Develop specialized diagnostics and stress-testing software for CPU, memory, interconnect, PCIe, and other system components.
- Build reusable validation utilities that integrate into the existing validation framework.
- Develop tools that expose intermittent hardware failures including silent data corruption, timing-related issues, and hardware instability.
- Design configurable diagnostic applications supporting multiple silicon revisions, platforms, and execution environments.
- Develop automation for executing diagnostics across server and rack-scale validation environments.
- Design configuration-driven diagnostics supporting scalable parameterization and workload variation.
- Collaborate with hardware architects to understand new hardware capabilities and identify missing diagnostics.
- Work closely with firmware and validation teams to improve hardware observability.
- Debug low-level hardware, firmware, operating system, and driver interactions.
- Analyze diagnostic output and improve fault isolation methodologies.
- Develop software that enables engineers to reproduce and investigate difficult hardware failures.
- Contribute reusable libraries and utilities that improve engineering productivity across multiple validation teams.
Requirements
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline.
- Experience developing hardware diagnostics, system validation software, firmware validation tools, or low-level systems software.
- Strong software development skills in Python and C/C++.
- Strong Linux systems experience.
- Strong understanding of modern server platform architecture, including how CPU, memory, PCIe, storage, networking, firmware, operating system, and device drivers interact within a complete system.
- Experience debugging hardware/software interactions across multiple layers of the platform.
- Experience developing diagnostics, stress testing, or hardware validation software.
- Experience with server platforms, embedded systems, or SoC validation.
- Strong analytical and debugging skills.
- Experience collaborating across hardware, firmware, software, and validation teams.
- Excellent communication and problem-solving skills.
Conditions
- Preferred qualifications include Arm-based server platforms, AI accelerators, Silent Data Corruption (SDC) testing, hardware stress testing, power transient analysis, hardware fault injection methodologies, firmware validation, silicon bring-up, performance characterization, hardware telemetry and observability, BMC firmware or server management, RAS technologies.