About the Role
The team is responsible for developing and applying system-level diagnostics and validation capabilities that ensure the quality and reliability of Graphcore’s AI computing platforms. The role will focus on creating diagnostic and stress-testing capabilities that expose hardware failures, characterize system behavior, and improve platform observability throughout silicon bring-up and validation.
Responsibilities
- Design, develop and extend system-level diagnostic and stress-testing software for Graphcore AI computing platforms.
- Develop diagnostic applications covering processors, memory, interconnects, PCIe, storage, networking and other system components.
- Build reusable validation utilities and libraries that integrate with Graphcore’s system validation infrastructure.
- Develop tools to identify and characterize intermittent hardware failures, including data integrity issues, timing-related failures and system instability.
- Design configurable diagnostic applications capable of supporting multiple silicon revisions, platforms and execution environments.
- Develop automation for executing diagnostics across server and rack-scale validation environments.
- Create configuration-driven diagnostic capabilities that enable scalable parameterization, workload variation and repeatable testing.
- Work with hardware architects and engineering teams to understand new hardware capabilities and identify opportunities for additional diagnostic coverage.
- Collaborate with firmware and validation engineers to improve platform observability and fault isolation.
- Debug complex interactions between hardware, firmware, operating systems and device drivers.
- Analyze diagnostic results, identify failure patterns and develop improved methods for reproducing and isolating system-level issues.
- Develop software and tooling that enables engineering teams to reproduce, investigate and resolve difficult hardware failures efficiently.
- Contribute reusable software components and engineering practices that improve productivity and diagnostic capability across validation teams.
- Provide technical guidance and collaborate across engineering disciplines to solve complex system validation and diagnostic problems.
- Extend existing diagnostics technologies to support new Graphcore hardware.
- Develop new diagnostics tools for emerging hardware capabilities.
- Build reusable software components that integrate seamlessly with the existing validation framework.
- Improve hardware observability and root-cause isolation.
- Detect and characterize intermittent hardware failures that traditional validation techniques cannot expose.
- Deliver configurable diagnostics that scale across multiple platforms and silicon revisions.
- Work effectively across hardware, firmware, validation, and diagnostics teams to continuously improve platform quality.
Requirements
- 5+ years of 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.
Skills
- Python
- C/C++
- Linux
- Arm-based server platforms
- AI accelerators
- High-performance computing systems
- 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
- Server management
- RAS (Reliability, Availability, Serviceability) technologies
- CPU scaling and cache behavior
- Memory (DDR/HBM) bandwidth, latency, and NUMA effects
- Interconnect contention under multi-core load
- PCIe/I-O throughput, latency, and multi-device scenarios
- High-speed I/O validation
Education Level
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical discipline.
Benefits
- Medical, dental and vision coverage
- Flexible Spending Accounts (FSAs)
- Health Savings Accounts (HSAs)
- Disability and life insurance
- 401(k) retirement plan
- Commuter benefits
- Wellness services
- Employee Assistance Programme (EAP)
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 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.
Equal Opportunity
- 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.
