Sr. GPU Compiler Backend Engineer

Apple Inc

Santa Clara Valley (Cupertino), CA

Job posting number: #7150495 (Ref:apl-200481246)

Posted: May 25, 2023

Application Deadline: Open Until Filled

Job Description

Summary
As a member of the Apple Silicon GPU Compiler Backend Performance Team, you’ll implement improvements to the open-source LLVM mid-level optimizer as well as our LLVM-based machine-dependent code generator for the Apple GPU architecture.

The Apple GPU architecture is part of the silicon that powers macOS, iOS, iPadOS, tvOS, and watchOS devices. The work we do has direct impact on the billions of Apple devices shipped to date. We work with many different organizations within Apple – hardware architecture, silicon engineering, device drivers, application frameworks, and the Xcode developer tools. This kind of collaboration and cross-functional reach allows our team to influence the hardware architecture and software stack. We're part of delivering phenomenal performance, functionality, and adaptability for all graphics shaders and compute kernels that run on Apple GPUs.

Our team is focused on improving the end-user experience by increasing the execution speed of the code generated for Apple GPUs while minimizing energy consumption. We are enabling new GPU architectures, technologies, and applications through innovation in compilers.
Key Qualifications
  • Experience writing C++ code in a modern style
  • Knowledge of common data structures like linked lists, sets, maps, and graphs
  • Understanding of algorithmic complexity and how it impacts execution time
  • Hands-on experience developing LLVM-based compiler backends (e.g. instruction selection, instruction scheduling, register allocation)
  • Experience implementing SSA-based optimization passes
  • Knowledge of GPU architectures and how they differ from CPU architectures
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.
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.
Education & Experience
Education
B.S. in Computer Science or equivalent experience.
Additional Requirements
  • - The ability to communicate clearly and effectively, especially with people less technically proficient in the areas you’ve gained expertise in
  • - An inclination toward collaborative approaches to solving complex problems
Pay & Benefits




Apply Now

Please mention to the employer that you saw this ad on Sciencejobs.org

More Info