You will design, implement, and refine performance models that accurately predict CPU microarchitecture behavior, maintaining in-house toolchains for cycle-accurate, trace-driven, or statistical simulations. Leveraging these models, you will assess the feasibility and cost-benefit trade-offs of new CPU features by conducting in-depth performance and power analyses. This includes developing new methodologies, automating workflows, and creating intuitive visualizations to reveal bottlenecks and guide optimizations. Working closely with architects, software engineers, and a global community of performance modeling experts, you will collaborate on design reviews, share best practices, and continuously improve our modeling strategies to inform next-generation CPU innovations.
Required:
Bachelor's (BS) or Master's (MS) degree in Computer Science, Electrical Engineering, or related fields, with coursework or relevant experience in Computer Architecture.
Prior hands-on experience in performance modeling and analysis of CPU microarchitecture.
Familiarity with cycle-accurate, cycle-approximate or functional simulators, microarchitecture pipelines, and common performance metrics.
Strong proficiency in C/C++ for large-scale software development, with working knowledge of Python for scripting and data analysis.
Excellent interpersonal skills, with a track record of working collaboratively in multi-disciplinary teams.
Able to communicate technical concepts clearly to both technical and non-technical audiences.
Desired:
Experience with power models and cache system models.
Strong software development experience, including design specification, coding, testing, and debugging.
Experience with, or understanding of, Arm architectures (e.g., Armv8-A, Armv9-A).
Exposure to microarchitecture-level performance counters, or hardware-software co-optimization.
Experience with RTL and SystemC simulators.
Knowledge of System Architecture/Software.