About Graphcore
How often do you get the chance to build a technology that transforms the future of humanity?
Graphcore products have set the standard in made-for-AI compute hardware and software, gaining global attention and industry acclaim. Now we are developing the next generation of artificial intelligence compute with systems that will allow AI researchers to develop more advanced models, help scientists unlock exciting new discoveries, and power companies around the world as they put AI at the heart of their business.
Graphcore recently joined SoftBank Group – bringing large and ongoing investment from one of the world's leading backers of innovative AI companies.
Job Summary
As a member of the drivers and utilities team you will contribute to the planning, design, implementation and testing of low level kernel drivers and user space driver library code. You will be part of one of the two teams in the system software department (the firmware team being the other one) and report to the drivers and utilities team manager.
The Team
The drivers and utilities team forms 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 custom 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.
Responsibilities and Duties
- 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 including mentoring junior team members
- Drive technical discussions with your peers in software and hardware engineering, with architects and other stakeholders. Share innovative concepts with wider audiences.
- 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
Candidate Profile
Essential:
- 7 - 10 year's 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
- Proactive in driving engineering collaboration & obtaining input to solve issues
- Proven ability to schedule own workload
- Excellent written and verbal communication skills, work well within a multinational team and with multinational customers. Excellent cultural awareness is essential.
Desirable
- Experience developing firmware or drivers for GPUs.
- Knowledge of CUDA or OpenCL
- Experience working on upstreaming of kernel code / contributing to Linux kernel.
- Exposure to integration with data centre / cloud service operations – for example integration with Kubernetes or open stack.
Benefits
In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance and health cash plan, a dental plan, pension (matched up to 5%), life assurance and income protection. We have a generous parental leave policy and an employee assistance programme (which includes health, mental wellbeing, and bereavement support). We offer a range of healthy food and snacks at our central Bristol office and have our own barista bar! 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
Top Skills
What We Do
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.
Our next generation 3D Wafer-on-Wafer Bow IPU systems are helping AI innovators worldwide to build better, more innovative AI solutions, whether their focus is on language and vision, exploring graph neural networks and LSTMs or creating something entirely new.
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.
We're always interested in hearing from exceptional people to join our team.