Job Description
Arm's System Performance Team in the Central Technology Group assesses and evaluates novel technologies used in Arm's industry-leading products – from data centres to IoT, by analysing their benefits to a System. Our work feeds into these technologies, in a hardware-software co-design approach.
We look for an experienced Engineer to join us in analysing and influencing the design of Arm Systems. The job involves studying, understanding, abstracting and modelling applications and workloads that run on Arm Systems, spanning across different areas such as AI/ML, Computer Vision, Media, Gaming, and Productivity, and also owning and driving targeted analyses.
This role is multifaceted, encouraging you to both think out of the box and follow well-known strategies. The end goal is to help improve Arm's Products in every release. You will be contributing to that goal by: analysing how each Arm-based system works and how it runs those different applications; abstracting the entire stack in our system modelling apparatus; and iterating on interpreting the results and re-experimenting with the stack's abstraction.
The output of these studies will be consumed by multiple design teams that work on the system, providing recommendations for improving its performance and efficiency.
Responsibilities:
* Drive investigations and analyses in less obvious areas and technologies
* Understand, decompose, and abstract how a given software application maps and runs on the underlying hardware
* Simulate the abstracted stack's execution on our models
* Collaborate with the product teams to improve the relevant hardware blocks
* Deliver targeted analysis studies to key internal and external partners
Required Skills and Experience:
* More than 6 years of industrial experience
* Experience with driving deep tech studies
* Hands-on experience on Software and Hardware performance analysis
* Strong statistics background
* Expertise on Computer and System Architecture, and Software Stacks designs
* Very comfortable with using scripting languages (e.g. Python)
* Good experience with any procedural programming language (e.g. C, C++)
* Strong shell scripting skills (e.g. bash)
* Confident git user
* Attention to detail
Nice To Have:
* Experience with Compilers and Runtimes
* Experience with GPU Software and Media
* Experience with MS Windows performance analysis / app development / system internals
* Experience with kernel scheduling and power management
* Expertise in parallelisation and concurrency
In Return:
You'll be influencing Arm products' design; working with a group of highly capable, innovative, and committed engineers in a multi-cultural environment that supports everyone for success; getting frequently opportunities to grow as an individual and further your skills and career.