Staff Software Modelling Engineer
We are looking for an experienced software modelling engineer who can build simulation environments suitable for system and micro-architectural explorations. You will look to enhance and build models which represent future Arm based mobile platforms. The successful engineer will be highly flexible, quick to learn and be motivated by the opportunity to understand and improve the performance of future Client computing devices using Arm technology.
About this role
As a lead modelling engineer you will use a variety of modelling platforms to carry out architectural explorations based on existing and future Arm IPs. You will build near-complete SoC systems running the latest mobile operating systems. This will allow you to explore real-world performance of real world use-cases. Using these representative modelling platforms, you will experiment to find the optimal configurations of Arm IPs and to project performance sensitivity for future architectural/system changes.
You will collaborate closely with Arm's Research, CPU and Media engineering groups as well as external modelling companies to develop and integrate new and experimental architectural features. You will be expected to learn quickly and prototype new technologies and features with the support of these teams.
A significant part of this role is to work closely with OS vendors and silicon partners. You will work to understand their used cases and develop representative workloads which can be characterised and then promoted within Arm ensuring future IP delivers outstanding performance.
What will I be accountable for?
* Collaborating with other internal teams within Arm to build suitable software system models based on Arm IP.
* Modify and reconfigure these experimental platforms to match the configuration of mobile devices today and in the future.
* Software development, testing and debugging on different modelling platforms.
* Influencing and building consensus among both team members and other groups in Arm
What skills, experience and qualifications should I bring?
* University degree (or equivalent) in Computer Science, although other disciplines will also be considered with relevant experience.
* Experience with computer architecture simulators such as gem5
* Detailed understanding of CPU architecture
* Experience building models of complex CPU/device IP
* Experience with benchmarking complex systems
* Expert knowledge of C, C++, Python development and debugging
* Excellent communications skills, self-motivated and well-organised
* Highly productive with the ability to work well as part of a team
We are hiring a number of software engineers at this location.