Back to jobs

Software Engineer - Triton

Bristol, UK; Cambridge, UK

About Graphcore 

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, Graphcoreenjoys a culture of continuous learning and constant innovation.  

Job Summary  

Reporting to a Team Lead in the frameworks team you will play a pivotal role in designing, implementing, optimising, maintaining and supporting the software required to ensure the machine learning accelerators that Graphcore develop enjoy first-class support in state-of-the-art machine learning frameworks such as PyTorch and Triton (note: “Triton” here refers to the Triton language/compiler and not the inference framework).  

This role sees you joining our Triton team, where you will be part of a SCRUM team working on delivering new features, optimise performance, reviewing code changes, writing technical documentation, working with upstream communities, maintaining the code base and supporting users.  

In this role you will closely collaborate with other engineers, both within the Triton team as well as other engineering teams. You help the team coordinate and deliver complex, open-ended technical tasks. You are pro-active and an excellent communicator. You will develop deep expertise in the Triton project and will (in time) contribute to the team’s technical direction and processes. You understand the importance of managing code quality and code complexity and balancing this against the need to deliver business outcomes. 

Note that the job title and associated benefits will be tailored to the successful candidate’s level of experience at the job offer stage to one of Software Engineer, Staff Engineer, Senior Staff Engineer, Principal Software Engineer or Senior Principal Software Engineer. Note that as the machine learning software landscape is quite fast moving and as such flexibility is essential – over time you may be asked to work on teams other than Triton. 

 

The Team 

The Frameworks team ensures Graphcore hardware works seamlessly with the tools that ML engineers and researchers love – Pytorch, Triton, Jax and TensorFlow. We’re a talented and diverse team of engineers and we foster a culture of collaboration, openness and learning. All our software teams follow agile working practices, and we care deeply about both ease-of-use as well as performance. We work closely work with other Graphcore teams as well as leading open-source communities.  

By joining us, you’ll join our exciting journey on the cutting edge of the machine learning industry. Your contributions will make a real difference – enabling machine learning engineers and researchers to unlock the full potential of Graphcore’s hardware.  

Responsibilities and Duties 

  • Designing and implementing new features & maintaining and supporting existing features.
  • Developing and maintaining unit tests, component tests and integration tests.
  • Optimising the software stack to make it more performant for our users.
  • Managing complex technical tasks with cross-team dependencies.
  • Managing code quality, code complexity and technical debt.
  • Provide technical leadership, contributing the team’s technical direction and processes.
  • Contributing to documentation, including user manuals and tutorials.
  • Conducting code reviews.
  • Resolving regressions, performance issues and software defects.
  • Coaching and mentoring other team members.
  • Contributing to a collaborative team culture.
  • Contribute to continuous improvements to improve ways of working.
  • Working with upstream open-source development teams. 

Candidate Profile 

Essential: 

  • Demonstrable strong software engineering skills.
  • Demonstrable experience of Python/C++ development.
  • Demonstrable experience of compiler development. 

Desirable: 

  • Experience with MLIR (or more generally: SSA-based IRs) is highly desirable. 
  • Demonstrable knowledge of AI/ML.
  • Understanding of computing architectures.
  • Experience of maintaining and supporting a complex code base.
  • Experience in profiling / optimising high performance code.
  • Experience of writing ML kernels.
  • Experience of using and/or development of ML Frameworks.
  • Experience in a computationally intensive engineering field. 

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.

Applicants for this position must hold the right to work in the UK. Unfortunately at this time, we are unable to provide visa sponsorship or support for visa applications

Create a Job Alert

Interested in building your career at Graphcore? Get future opportunities sent straight to your email.

Apply for this job

*

indicates a required field

Resume/CV*

Accepted file types: pdf, doc, docx, txt, rtf

Cover Letter

Accepted file types: pdf, doc, docx, txt, rtf


Select...
Select...
Select...

UK Demographic Data

We take pride in our commitment to creating an inclusive and diverse workplace. As part of our recruitment process, we ask for confidential diversity data from all applicants. This data will be anonymised so that no personal identification information will be collected, and is retained for statistical purposes only and is not attached to your application. Your responses to the following three questions will remain confidential and will not impact or be used in any way in regards to your application. We are only using this data to improve our hiring process to be inclusive of all diversity backgrounds.

Select...
Select...
Select...