Job Description
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 to Do Great Things. If you need support or an accommodation to Be Your Brilliant Self during the recruitment process, please email accommodations@arm.com. 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.