CPU Performance Modelling Engineer
Role details
Job location
Tech stack
Job description
Our CPU Performance Modelling Engineer will partake in leading the design and integration efforts of different types of software models of CPUs that will help deliver our mission to design a smarter future. These models are used for performance analysis, early design exploration, hardware verification and inclusion within our platform simulations as a software development tool for external and internal application engineers.
You will
- Design and maintain functional and cycle-approximate performance models of CPUs.
- Coordinate with CPU architects for modelling microarchitecture specific features.
- Support hardware engineers to solve potential issues in design verification flows.
- Help solve project execution issues through rapid tool prototyping and dynamic problem solving.
Abilities make possibilities Committed to making your customers, stakeholders and colleagues successful, you're an excellent communicator, listener and collaborator who builds trusted partnerships by delivering what you say, when you say. You're curious, solutions orientated and a world class problem solver who constantly seeks opportunities to innovate and achieve the best possible outcome to the highest imaginable standard.
Requirements
- Solid understanding of computer architecture concepts, such as pipelining and memory hierarchy.
- Knowledge of performance or functional modeling of CPUs or GPUs.
- Experience in programming C++, Rust or similar languages.
- Experience with object oriented software design principles.
- Assembly programming experience in ARM, RISC-V or x86 architectures.
- Hands-on knowledge with revision control systems, such as Git or Perforce.
You might also have
- Experience in CPU benchmarking and performance analysis.
- SoC modelling and simulation experience using Gem5 and SystemC TLM.
- Familiarity with hardware description languages, such as SystemVerilog or VHDL.
- Scripting experience in Python and Bash.