Software Engineer – Numerical Libraries
Intermediate level job Manchester (Greater Manchester) IT development
Job description
Job Description
ARM is looking for a highly skilled and motivated software engineer to join a world-class team in Manchester working on our proprietary vendor maths libraries for enterprise server and high performance computing deployment. Our tools are used by industry, government and academia to perform cutting-edge scientific research and simulations, such as weather forecasting, modelling the big bang and simulating the human brain.
You will work on all aspects of researching, developing, optimizing and delivering high performing numerical software into the ARM HPC ecosystem. You will be primarily focused on optimization of the ARM Performance Libraries implementations of BLAS, LAPACK and FFT routines, in both serial and parallel.
You will strive to improve the performance of the computational algorithms used and help develop new features to expand the use of this technology in, both, new and existing markets. This will require innovation and cutting-edge development, working with both proprietary and open source software stacks.
To learn more about our HPC team and the products we work on see http://www.arm.com/hpc .
Duties:
• Optimization of the ARM Performance Libraries for a range of target ARM-based systems, including improving vectorization and cache performance
• We need someone excited by the prospect of delivering added performance to end users by writing high-performing, low-level numerical code
• Improving the parallel performance of the library, allowing greater scalability
· Investigating, designing, implementing and testing new algorithms for the library
· Producing and delivering high-quality, reliable libraries to ARM’s customers, partners and the community
Job Requirements
Required Skills:
· Excellent programming skills in C, C++ and/or Fortran
· Strong abstract reasoning skills with an ability to focus on key concepts at all levels of detail
· Strong grasp of algorithms and data structures, along with a good understanding of modern computer architectures
Desirable Skills and experience:
The following is a selection of skills used across our projects. You do not need any of these to apply or succeed in your application.
• Experience in optimization of numerical software
• Experience with vector architectures and auto-vectorization techniques
• Experience with parallel programming and parallel runtimes, especially OpenMP
• Experience of using HPC systems and maths libraries
• Exposure to large-scale software build, integration and test environments
Note: Training may be provided for the right candidate with only a subset of the skills and experience.
Benefits
Your particular benefits package will depend on position and type of employment and may be subject to change. Your package will be confirmed on offer of employment. ARM's benefits program provides permanent employees with the opportunity to stay innovative and healthy, ensure the wellness of their families, and create a positive working environment.
· Annual Bonus Plan
· Discretionary Cash Award
· Group Personal Pension Plan with enhanced company contribution
· Medical, Travel, Health & Life Insurances
· Holiday, 25 days annual leave with option to buy an additional 5 days per year
· Sabbatical, 20 paid days every four-year of service
· Volunteering, One (1) paid working day each year (TeamARM)
· Varies by location: cycle to work, free car parking, gym on site, team and social events
About ARM
ARM® technology is at the heart of a computing and connectivity revolution that is transforming the way people live and businesses operate. From the unmissable to the invisible; our advanced, energy-efficient processor designs are enabling the intelligence in 86 billion silicon chips and securely powering products from the sensor to the smartphone to the supercomputer. With more than 1,000 technology partners including the world's most famous business and consumer brands, we are driving ARM innovation into all areas compute is happening inside the chip, the network and the cloud.
With offices around the world, ARM is a diverse community of dedicated, innovative and highly talented professionals. By enabling an inclusive, meritocratic and open workplace where all our people can grow and succeed, we encourage our people to share their unique contributions to ARM's success in the global marketplace.