Early Careers GPU Modeling Engineer
London, England, United Kingdom
Hardware
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 and hardware, influencing performance improvements and the programming ease of Apple produces.
Description
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
- 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)
Key Qualifications
Preferred Qualifications
- 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