Description
Summary
In this role, you will design, implement, and productize advanced backend compiler optimizations for Apple Silicon GPUs, working across the full lifecycle from prototyping through production shipping. You will collaborate cross-functionally with hardware and software teams to resolve complex compiler and performance challenges, driving optimizations to completion. The GPU compiler backend you help build ships in every Apple device with a GPU, directly impacting graphics, gaming, and machine learning workloads across the entire product line.
Description
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 customers.
We are seeking a skilled Compiler Backend Engineer to join our team. This role spans driving compiler optimization projects to completion, resolving complex, ambiguous production issues escalated by key partners (ProApps, Machine Learning, and Gaming), and contributing to the exploration of new GPU architecture features. 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.
Key Responsibilities
Design, implement, and productize backend compiler optimizations for Apple Silicon GPUs
Independently investigate and resolve complex, open-ended performance and correctness issues affecting key partner teams
Collaborate with architects and micro-architects to evaluate and advance new GPU hardware features
Stay current with compiler technology advancements and apply relevant insights to our development process
Mentor and collaborate with fellow engineers across the team
Minimum Qualifications
Experience with modern C++ programming
BS with 5+ years experience, MS, or PhD in computer science or related field
Strong background in compiler backend technologies (LLVM preferred)
Knowledge of GPU architectures and how they differ from CPU architectures
Demonstrated autonomy and ownership resolving ambiguous, open-ended technical challenges
Excellent written and verbal communication skills
Preferred Qualifications
Hands-on experience developing LLVM-based compiler backends
Experience with instruction selection, instruction schedulers, and register allocators for CPU or GPU compiler backends
Experience driving production compiler issues to resolution in a fast-paced environment