Skip to content

Instantly share code, notes, and snippets.

@jduprat
Created November 5, 2021 13:21
Show Gist options
  • Save jduprat/e1a0458bb60320e1c99fb17291e88ac6 to your computer and use it in GitHub Desktop.
Save jduprat/e1a0458bb60320e1c99fb17291e88ac6 to your computer and use it in GitHub Desktop.

Senior Apple Silicon GPU Compiler Backend Engineer — Performance

Job Summary

As a member of the Apple Silicon GPU Compiler Backend Performance Team, you’ll implement improvements to the open-source LLVM (llvm.org (http://llvm.org/)) mid-level optimizer as well as our LLVM-based machine-dependent code generator for Apple’s GPU.

Key Qualifications

  • Proficiency in modern C++ programming
  • A good foundation in computer architecture and experience with assembly programming
  • Strong understanding of algorithmic complexity and implementing efficient solutions to problems
  • 7+ years of experience working on either compilers or other low-level systems software (linkers, firmware, OS kernel, etc.)
  • The ability to communicate clearly and effectively, especially with people less technically proficient in the areas you are proficient in
  • History of using collaborative approaches to solving complex problems
  • If you believe you have additional skills not listed here that would make you a good candidate for this position, please feel free to include a cover letter describing those skills and their applicability to the position

Description

In this role your primary responsibility will be to implement improvements to the compiler backend that generates the machine code for the GPU used by all graphics applications running on Apple Silicon platforms (iOS, iPadOS, macOS, tvOS, and watchOS). This may include improving the performance of generated code, compile time, and maintainability of the code, as well as implementing new features driven by changes to the Metal API and shading language.

As part of your work, you’ll analyze the performance of GPU workloads and review the assembly code we generate in order to find new opportunities to improve the compiler backend to generate better assembly code for those workloads. You’ll also review and provide feedback on the work of your peers, and collaborate with them on solutions to the problems they are working on.

In addition, you’ll work with the GPU hardware teams and the Metal graphics API and device driver teams to influence the direction of both our GPU hardware and GPU software platforms.

As one of the senior members of the team, you’ll be expected to help create the vision for what we’ll do over the next few years, and drive multi-year initiatives that we decide to take on, through to completion. You’ll be expected to mentor less experienced members of the team, as well as influence team culture in ways that result in better outcomes for our customers.

Experience working on compiler backends and with GPUs is not necessary, but the expectation is that you will ramp up quickly in this area of deep technical expertise.

Education

B.S. in Computer Science or equivalent experience.

Contact

If interested in applying for this role, please contact Mark Lacey mark.lacey@apple.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment