Enable job alerts via email!

Software Engineer - Triton

Graphcore

Cambridge, Bristol

On-site

GBP 60,000 - 90,000

Full time

Yesterday
Be an early applicant

Job summary

A leading tech firm in Cambridge is seeking a Software Engineer to design, implement, and support software for their machine learning accelerators, working closely with cross-functional teams. The ideal candidate has strong skills in Python and C++, and experience with performance optimization in complex code bases. This role offers a range of benefits including flexible working arrangements and a strong emphasis on collaboration.

Benefits

Flexible working
Generous annual leave policy
Private medical insurance
Dental plan
Pension matched up to 5%
Employee assistance programme

Qualifications

  • Demonstrable strong software engineering skills.
  • Experience with Python/C++ development.
  • Experience with compiler development.
  • Familiarity with MLIR or SSA-based IRs is highly desirable.

Responsibilities

  • Design and implement features & support existing ones.
  • Optimize the software stack for performance.
  • Manage complex technical tasks with cross-team dependencies.
  • Provide technical leadership and contribute to team direction.

Skills

Software engineering skills
Python/C++ development
Knowledge of AI/ML
Compiler development
Optimising high performance code
Job description
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 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 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
  • Demonstrable strong software engineering skills.
  • Demonstrable experience of Python/C++ development.
  • Demonstrable experience of compiler development.
  • 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.

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

Apply for this job

To express interest, please submit your application details through our standard channels.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.

Similar jobs