As performance optimization and simulation engineer you will work on investigating of performance bottlenecks of applications like databases, distributed storages, engines for large-scale data analytics, as well as AI-specific applications to improve their overall performance by proposing new custom instructions or CPU instruction set extensions and proving possible performance improvement through simulation.
Main Responsibilities
Performance analysis of applications of interest to propose new instructions and ISA extensions.
Reworking and optimization of critical parts of applications to support new ISA.
Implementation of proposed new instructions or uArch tweaks in performance simulator for evaluation of possible performance benefits.
Requirement
Deep understanding of modern CPU architectures Knowledge and experience of using of latest Aarch64 or X86 instruction sets.
Background in performance analysis, profiling and workload characterization.
Excellent collaboration and interpersonal skills
Considered as a plus
Experience in developing and using performance simulators like GEM5 (O3 model), Sniper or others is a big plus.
Experience in developing and using dynamic binary instrumentation infrastructures like QEMU or DynamoRIO or x86 PIN is a plus.
Knowledge of NPU/GPU architecture
Experience in simulator development for NPU/GPU