Arm is looking for a highly skilled and motivated software engineer with experience of optimizing numerical software to join our team in Manchester working on improving math’s libraries for Arm-based hardware.
You will work to improve all aspects of the libraries we develop! This will involve researching, developing, optimizing and delivering into the high performance Arm ecosystem across a wide variety of libraries targeting areas such as HPC (High Performance Computing), computer vision, video codecs, security and fundamental mathematical (math.h) functions.
In this role, you'll have the opportunity to learn about and use the world-leading Arm hardware that we support. Our libraries are used by industry, government and academia to perform a wide range of functions, from advanced scientific research via simulations on large scale systems to detecting objects in device camera pipelines.
Responsibilities:
* Optimization of numerical libraries for a range of target Arm-based systems, including improving vectorization, cache usage and parallel performance
* Producing and delivering high-quality, reliable libraries to Arm’s customers, partners and the community
* Collaborating with customers and partners on their needs
* Working with other divisions in Arm to expand adoption of the architecture
Required Skills & Experience:
* Excited by the prospect of delivering added performance to end users by writing high-performing low-level numerical code
* Excellent programming skills in at least one of C++, C and/or Fortran, developing code on Linux, using git and doing code review
* Enthusiastic approach to working with a team of other software engineers, sharing innovative ideas and giving constructive feedback
“Nice To Have” Skills and Experience:
The following is a selection of skills used across our projects. They are not necessarily required for a successful application.
* Programming in parallel. Experience with vector (SIMD) architectures, vectorization techniques and parallel runtimes
* Some knowledge of at least one of our key areas of interest: linear algebra, FFTs, video codecs, security algorithms or function approximation
* Exposure to large-scale software Build, Integration and Test environments
* Some experience of Open Source development
Education & Qualifications:
You will need a good degree (or equivalent) in Mathematics, Computing, or an alternative with relevant experience.
LI-CM1
#J-18808-Ljbffr