Jobs

Software Engineer - Machine Learning Frameworks


Job details
  • ARM
  • Ely
  • 4 days ago

Job Overview:

Are you a skilled and motivated engineer with a strong background in optimised system design such distributed systems and high-performance concurrency?

 

We are building the future of computing, on Arm. We want to make Arm-based hardware the natural choice for ML in the datacenter. To that end, we truly believe that major machine learning frameworks used to run AI must be highly performant.

Our team is a diverse, dedicated and inclusive group from all over the world based in Arm's stylish offices at the heart of Manchester. We work on all aspects of researching, developing and delivering highly optimised ML frameworks into the Arm ecosystem across many ML models.

 

This role will directly contribute to key open source ML frameworks such as TensorFlow and PyTorch. In addition, Arm is owner and advocate of the underlying technologies, such as Compute Library, that act as basic building blocks to form the high-quality and performant software. In collaboration with colleagues from Manchester and Cambridge you will work on delivering optimised software for server-class hardware, and integrate it with ML software frameworks and libraries for deployment on our partner's hardware.

 

We work with exciting technology, help to implement new algorithms, and optimise for the latest Arm server hardware. Our work has high impact in the ML ecosystem, with possibility to engage with partners and the community.

Responsibilities:

Your role as a Senior Software Engineer will require you to:

  • Optimise ML software to utilise the full potential of Arm's line of Neoverse cores for datacentre and cloud uses-cases at high core counts.
  • Work with development teams based from compilers and libraries to extend the capabilities of Compute Library to meet the unique demands of ML workloads on servers.
  • Improve Compute Library API to support flawless integration with ML frameworks.
  • Extend ML frameworks to simplify integration with Compute Library

Required Skills and Experience :

  • Software development, with very good programming skills, preferably C++ and Python.
  • Excellent understanding of parallel programming primitives and constructs.
  • Ability to quickly investigate and debug large software frameworks.
  • Optimising code for performance.
  • A real passion for software development.
  • Very good interpersonal, collaboration and communication skills.
  • Curiosity to make a positive impact, both in our team, and in the wider Arm ecosystem.
  • A degree, or higher, in a computational or numerate subject, or experience in a related field.

Note: Training may be provided if you have only a subset of these key skills!

“Nice To Have” Skills and Experience:

The following is a selection of skills used across our projects.

You do not need to have experience with any of these to apply or succeed in your application.

  • Experience with one or more of: NEON, SVE, SVE2, and Arm assembler.
  • Experience with TensorFlow, PyTorch, ONNXRuntime, and/or oneDNN.
  • Open source community citizenship including code commits and reviews.
  • Basic Linux administration, particularly installation and maintenance.

In Return:

You will be joining an outstanding company! We strive to provide an open and accepting environment where you are encouraged to share your ideas and opinions; which enables collective innovation and creativity, and supports your professional and personal growth. In addition, we enjoy 25 days of annual leave as well as progressive parental leave, support for flexible and hybrid working, and many other benefits that Arm offers.

 

#LI-JB1

Accommodations at Arm

At Arm, we want our people toDo Great Things. If you need support or an accommodation toBe Your Brilliant Selfduring the recruitment process, please email . To note, by sending us the requested information, you consent to its use by Arm to arrange for appropriate accommodations. All accommodation requests will be treated with confidentiality, and information concerning these requests will only be disclosed as necessary to provide the accommodation. Although this is not an exhaustive list, examples of support include breaks between interviews, having documents read aloud or office accessibility. Please email us about anything we can do to accommodate you during the recruitment process.

Hybrid Working at Arm

Arm’s approach to hybrid working is designed to create a working environment that supports both high performance and personal wellbeing. We believe in bringing people together face to face to enable us to work at pace, whilst recognizing the value of flexibility. Within that framework, we empower groups/teams to determine their own hybrid working patterns, depending on the work and the team’s needs. Details of what this means for each role will be shared upon application. In some cases, the flexibility we can offer is limited by local legal, regulatory, tax, or other considerations, and where this is the case, we will collaborate with you to find the best solution. Please talk to us to find out more about what this could look like for you.

Equal Opportunities at Arm

Arm is an equal opportunity employer, committed to providing an environment of mutual respect where equal opportunities are available to all applicants and colleagues. We are a diverse organization of dedicated and innovative individuals, and don’t discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or status as a protected veteran.

Sign up for our newsletter

The latest news, articles, and resources, sent to your inbox weekly.

Similar Jobs

Software Engineer - Machine Learning Frameworks

Job Overview:Are you a skilled and motivated engineer with a strong background in optimised system design such distributed systems and high-performance concurrency? We are building the future of computing, on Arm. We want to make Arm-based hardware the natural choice for ML in the datacenter. To that end, we truly...

Manchester

Software Engineer

Software EngineerExciting opportunity for an experienced Software Engineer to join an innovative stealth start-up in Saffron Walden who are tackling some of the world’s most pressing challenges. Joining a company founded by experts in their field, who have already realised success with other start-ups, this offers the chance to work...

Saffron Walden

Software Engineer - Simulation

Join an expert Team, developing pioneering geophysical and process simulationsThis highly successful and expanding company are seeking a Simulation Software Engineer to help develop advanced software for geophysical modelling and industrial process simulation. With a global client base and an ambitious growth strategy, this company offers a dynamic environment with...

Guildford

Software Engineer within ML

Job Overview:Arm is seeking a highly motivated and creative Software Engineer to be based in either Lund (Sweden) or Cambridge (UK) to join a software development team working on Machine Learning compilers, predominantly in C++.The software we develop is what enables neural networks to be deployed on both present and...

Lund

Software Engineer within ML

Job Overview:Arm is seeking a highly motivated and creative Software Engineer to be based in either Lund (Sweden) or Cambridge (UK) to join a software development team working on Machine Learning compilers, predominantly in C++.The software we develop is what enables neural networks to be deployed on both present and...

Cambridge

Software Engineer - Manipulation

The MissionProactive Global have partnered with an exciting AI business who are striving to create the world'sleading, commercially scalable, safe, and advanced humanoid robots that seamlessly integrate intodaily life and amplify human capacity.VisionIn a world where artificial intelligence opens up new horizons, our faith in its potential unveils a newoutlook...

London