Job Overview:
Are you a skilled and motivated engineer with a strong background in optimised system design such as 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 the 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 use-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.
#J-18808-Ljbffr