About us
Graphcore is one of the world’s leading innovators in Artificial Intelligence compute.
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 Summary The System Software group comprises of the Firmware team, the Drivers and Utilities team and, the System QA team. We are responsible for the enablement of all silicon and hardware platforms produced by our colleagues at Graphcore. Our aim is to produce high quality software and APIs that enable the wider software team to utilise our products efficiently and effectively. The Firmware and Drivers teams form the foundation of the Graphcore software stack, upon which all our customer-facing systems are built and run. The Team The Drivers and Utilities team develop kernel and user space software to allow our customers to get maximum performance and utility from our unique hardware. We work closely with the software engineering team developing our Poplar SDK to support machine learning applications and with silicon and hardware engineers to fully exploit the capabilities of our Graphcore IPU solution. Responsibilities and Duties Write code to Graphcore standards Ensure all code written has the appropriate unit tests created for it Participate in code reviews individually and as part of the team Participate in Scrum ceremonies Manually test code written by self and others Maintain our Continuous Integration system and fix when broken Contribute to and take part in technical design discussions with team members Candidate Profile