Code in C/C++ and implement the high-performance simulator. Leverage parallel, concurrent and multi-threading knowledge to ensure the best performance possible of the simulator. Understand new design specification and propose software modeling approaches. Investigate functional correctness issues and simulation performance bottlenecks. Implement and debug binary translation. Implement high-efficient GPU memory management unit. Python programming language to write and maintain automation scripts for continuous integration testing and code auto-generation.
Key Qualifications
C or C++ programming, and Python scripting skills
Low level operating systems including Linux and MacOS, system calls, file and memory management (page table, virtual address translation, thread management, and schedulers)
Computer architecture (x86, ARM and RISC-V), hardware and software co-design
Parallel and concurrent multi-threading programming, shared-data parallelism, and non-shared-data parallelism
Education & Experience
Master’s degree or above or foreign equivalent in Computer Science, Computer Engineering, Electrical Engineering, or related field. Alternatively, Bachelor’s degree with 3+ years of relevant experience.