Graphcore has created a completely 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.

The Role

As Software Platform Director you will work within the Engineering team at Graphcore to lead the design and development of the Poplar™ software tools for the IPU processor. This core component of the software products developed at Graphcore provides the programming interface to the IPU processor. Poplar connects to industry standard machine learning frameworks such as Tensorflow and Pytorch as a backend to provide the ability to execute applications on the IPU. As a platform for advanced research and development Poplar also provides a user facing API to provide the ability to build the next generation of machine learning frameworks and applications. In this role you will lead the engineering team building this next generation software tool chain for the IPU processor.

  • Define and manage the feature set and roadmap required for the Poplar graph compiler, runtime engine and optimized application libraries
  • Lead and build a team of engineers within the software team at Graphcore to develop and release the Poplar software product.
  • Work with our engineering team to define enhancements and changes to our IPU architecture to enable future products and capability.
  • Engage with our customers and work with users of the Poplar in the field, providing support and help capture requirements for product enhancements
  • Work with industry standard ML frameworks to integrate Poplar as a back-end
  • Build the next generation of software tool chain to target machine intelligence workloads
  • Work with both industry and research teams to understand applications and provide improved features and documentation as part of an industry leading software programming platfom.

Responsibilities

  • Manage the design, development and engineering roadmap for Poplar.
  • Lead an engineering team dedicated to building and supporting this key component of our product.
  • Work within Graphcore’s internal engineering organisation to enhance the capabilities our technology to support future products.
  • Work with our product organisation to support the roadmap for Graphcore software and hardware
  • Plan, execute and and report progress on development as part of our wider software schedule.
  • Work with our customer facing and research teams to ensure that Poplar provides the capabilities required for deployment on the IPU processor.

Person Profile

Poplar is the key software product for building applications that run on the IPU processor.  This role requires someone with a deep technical understanding of hardware and software platform interaction along with experience of parallel processing and building customer facing software products that can be delivered and supported to a large user base. The team you will be leading will contain software engineers working at a very low level with the IPU processor architecture itself up to the very high level with developers working on integration into standard machine learning frameworks so you will need to be comfortable crossing these domains. Alongside leading the team you will need to manage the design and development of Poplar and the engineering roadmap for future products. You will need to be comfortable leading a very strong technical team to deliver the Poplar product from engineering development all the way through to customer use.

As part of this you will interact with all areas of the company in this role and be comfortable working outside of a purely engineering role. You will be working with our Product team to define features, priorities and product roadmaps, our customer facing organisation to support application development both internal and external and our marketing group. The role will also involve customer interaction with developers outside of Graphcore and occasional travel to support company events.

  • A strong technical programming background in a high level languages such as C++.
  • Experience of using or developing high performance maths libraries
  • An understanding of software performance from high level languages to low level machine code.
  • Experience with parallel processors and applications for parallel machines.
  • Previous experience of leading a team of engineers to develop complex software products.
  • Experience of building microprocessor software tool chains is useful but not essential

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.

Please note, we are only considering candidates who have an established right to work in the UK for roles based in Bristol, UK

Apply for this Job

* Required