Job Description
Arm's System Performance Team in the Central Technology Group evaluates and assesses 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.
Our team looks 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.
This role is multifaceted, and you are encouraged 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 does it run 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:
* 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 4 years of industrial experience
* Hands-on experience on Software and Hardware performance analysis
* Strong statistics background
* Clear understanding of Computer and System Architecture, and Software Stacks
* 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
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.