Now hiring

Apple GPU Compiler Backend Engineer @ Apple

Cupertino, California, USOnsiteFull-time
Apply with ResuMinder

Opens on the employer's site

About this role

In this role, you will design, implement, and productize advanced backend compiler optimizations for Apple Silicon GPUs, working across the full lifecycle from early architecture exploration and prototyping through production shipping. You will partner directly with GPU architects to explore and evaluate instruction set and micro-architecture proposals on future hardware - often years before it exists in silicon - using simulators and emulation environments, and your findings will help shape our future hardware. You will also 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 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.

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

Partner 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 locked

Bring up and validate compiler support for future GPU architectures on simulators and pre-silicon platform

Model and quantify the performance impact of proposed hardware features on representative graphics, gaming, and ML workloads, and communicate trade-offs to hardware and software stakeholders

Stay current with compiler technology advancements and apply relevant insights to our development process

Mentor and collaborate with fellow engineers across the team

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 bringing up a compiler for a new or unreleased architecture, or working with instruction set definitions, simulators, or emulation environments

Experience collaborating with hardware architects on ISA or micro-architecture design, including performance modeling and analysis of proposed features

Experience driving production compiler issues to resolution in a fast-paced environment

Minimum Qualifications

Experience with modern C++ programming

BS with 3+ 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

Pay & Benefits

At Apple, base pay is one part of our total compensation package and is determined within a range. This provides the opportunity to progress as you grow and develop within a role. The base pay range for this role is between $150,400 and $277,600, and your base pay will depend on your skills, qualifications, experience, and location.

Apple employees also have the opportunity to become an Apple shareholder through participation in Apple's discretionary employee stock programs. Apple employees are eligible for discretionary restricted stock unit awards, and can purchase Apple stock at a discount if voluntarily participating in Apple's Employee Stock Purchase Plan. You'll also receive benefits including: Comprehensive medical and dental coverage, retirement benefits, a range of discounted products and free services, and for formal education related to advancing your career at Apple, reimbursement for certain educational expenses - including tuition. Additionally, this role might be eligible for discretionary bonuses or commission payments as well as relocation. Learn more about Apple Benefits

Note: Apple benefit, compensation and employee stock programs are subject to eligibility requirements and other terms of the applicable plan or program.

Skills

Software Engineering

Ready to apply?

Install the ResuMinder extension and we'll auto-fill the application in seconds — no rewriting.

See how your CV scores