Apple GPU Compiler Backend Engineer
Cupertino, CA - USA
Job Summary
Our GPU Compiler Backend team is responsible for the design implementation and productization of the compiler that generates optimized code for Apple Silicon GPUs. We build synergies with hardware and software teams from early architecture exploration through production hardening and shipping and serve as the last line of defense for performance and correctness before code reaches are seeking a skilled Compiler Backend Engineer to join our team. This role will involve doing hands-on experimental work to define and enable new GPU architecture features and driving compiler optimization projects to completion resolving complex ambiguous production issues escalated by key partners (ProApps Machine Learning and Gaming). You will work on an LLVM-based compiler backend that generates optimized GPU binaries for graphics and compute workloads across every Apple device with a GPU.
Design implement and productize backend compiler optimizations for Apple Silicon GPUsnIndependently investigate and resolve complex open-ended performance and correctness issues affecting key partner teamsnPartner with architects and micro-architects to co-design instruction set and micro-architecture features: build compiler prototypes run experiments and use the results to influence hardware design decisions before they are lockednBring up and validate compiler support for future GPU architectures on simulators and pre-silicon platformnModel and quantify the performance impact of proposed hardware features on representative graphics gaming and ML workloads and communicate trade-offs to hardware and software stakeholdersnStay current with compiler technology advancements and apply relevant insights to our development processnMentor and collaborate with fellow engineers across the team
Experience with modern C programmingnBS with 3 years experience MS or PhD in computer science or related fieldnStrong background in compiler backend technologies (LLVM preferred)nKnowledge of GPU architectures and how they differ from CPU architecturesnDemonstrated autonomy and ownership resolving ambiguous open-ended technical challengesnExcellent written and verbal communication skills
Hands-on experience developing LLVM-based compiler backendsnExperience with instruction selection instruction schedulers and register allocators for CPU or GPU compiler backendsnExperience bringing up a compiler for a new or unreleased architecture or working with instruction set definitions simulators or emulation environmentsnExperience collaborating with hardware architects on ISA or micro-architecture design including performance modeling and analysis of proposed featuresnExperience driving production compiler issues to resolution in a fast-paced environment
Required Experience:
IC
About Company
Ask Siri to name the most successful company in the world and it might respond: Apple. And it's not just out of familial pride. Apple consistently ranks highly in profit, revenue, market capitalization, and consumer cachet. In 2018, the company became the first reach a trillion dollar ... View more