GPU Modeling Engineer

London, Greater London, United Kingdom


Role Number:200520511
Design and develop software simulators for Graphics Processing Units. Build high-performance functional simulators of advanced Graphics Processing Unit (GPU) designs to help bridge the gap between software & hardware, influencing performance improvements and the programming ease of Apple produces.


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.

Minimum Qualifications

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

Preferred Qualifications

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.

Additional Requirements