Systems Software Engineer

April 10, 2023
Offerd Salary:Negotiation
Working address:N/A
Contract Type:Other
Working Time:Negotigation
Working type:N/A
Ref info:N/A

Graphcore has created a new processor, the Intelligence Processing Unit (IPU), specifically designed for artificial intelligence. The IPU's unique architecture means developers can run current machine learning models orders of magnitude faster. More importantly, it lets AI researchers undertake entirely new types of work, not possible using current technologies, to drive the next great breakthroughs in general machine intelligence.

We believe our IPU technology will become the worldwide standard for artificial intelligence compute. The performance of Graphcore's IPU is going to be transformative across all industries and sectors whether you are a medical researcher, roboticist or building autonomous cars.

Our team is at the forefront of the artificial intelligence revolution, enabling innovators from all industries and sectors to expand human potential with technology. What we do really makes a difference.

What you'll be doing

We are looking for a System Software Engineer to join our drivers and utilities team at Graphcore where you'll contribute to the planning, design, implementation and testing of low-level kernel drivers and user space driver library code.

Reporting to the team lead, you'll join the drivers and utilities team, part of the system software group – working closely with both software engineers developing our Poplar SDK and with silicon and hardware engineers developing Graphcore's IPU solution. The drivers and utilities team develop PCIe and DMA control software on the host in kernel and user space. Our solutions enable our customers to get maximum performance and utility for our cutting-edge products.


  • Design, implement, test and document OS Kernel and Device Driver software at the highest standard using C/C++/Python programming languages
  • Participate in agile development – working as part of a scrum team to develop the right software at pace
  • Communicate effectively and contribute regularly to technical discussions with your peers in software and hardware engineering, with architects and other stakeholders
  • Be hands-on during key product development phases involving close working with hardware and silicon engineering groups to enable fast time to market delivery
  • Promote Graphcore values and culture
  • What you'll bring

  • Industry experience in software development using programming languages such as C/C++/Python
  • OS Kernel and Device Driver development and deployment experience in Linux or Windows systems
  • Good understanding of lower-level software stack and interactions with the hardware layer
  • Possess effective problem-solving skills, familiar with a full suite of debug and performance analysis tools and techniques
  • Experience with one or more of the following: PCIe, CPU, device drivers, SoC, firmware, and hardware/software integration
  • Excellent written and verbal communication skills, work well within a multinational team and with multinational customers. Excellent cultural awareness is essential
  • This position can be based in Bristol or Cambridge, UK.

    We welcome people of different backgrounds and experiences and are committed to building an inclusive work environment that makes Graphcore a great home for everyone. We are an equal opportunity employer and want to build a work environment where everyone is happy, productive and respectful so they can do their best work. If you have a disability or additional need that requires accommodation, just let us know.

    From this employer

    Recent blogs

    Recent news