GPU Compiler / Driver Engineer

Santa Clara Valley (Cupertino), California, United States
Not Available

Summary

Posted: Nov 2, 2018
Weekly Hours: 40
Role Number: 114423166
Apple’s GPU Software team provides the graphics software foundation across all of Apple's innovative products, including iPhone, iPad, Apple TV, Mac, and Watch. Our responsibilities encompass the frameworks, developer tools, and hardware drivers for the GPU and Display devices on all of Apple’s hardware. This team recently announced Metal 2 which provides near-direct access to the graphics processing unit (GPU), enabling you to maximize the graphics and compute potential of apps on iOS, macOS, and tvOS. Building upon an efficient low-overhead architecture with precompiled shaders, fine-grained resource control, and multithreading support, Metal 2 further boosts performance by enabling the GPU to take more control of the rendering pipeline. Moving beyond just graphics, Metal 2 provides deep support for GPU-accelerated machine learning and offers enhanced developer tools that make it even easier to debug, optimize, and deploy Metal apps. On Mac, Metal 2 adds support for virtual reality (VR) rendering and external GPUs, and provides new APIs and optimizations to help developers embrace these emerging technologies within their apps.

Key Qualifications

  • Knowledge of GPU and CPU architectures
  • Knowledge of GPU compilation workflows
  • Excellent programming skills and knowledge of C/C++
  • Excellent problem solving and debugging skills
  • Strong communication and teamwork skills
  • Experience with OpenGL, OpenCL, Direct3D, CUDA or other GPU programming APIs
  • Experience with software performance analysis, optimizations and low- level
  • programming

Description

The team is responsible for building graphics drivers for iOS devices collaborating with both the compiler and hardware groups to bring Metal to life. The ideal candidate should have previous GPU driver or GPU compiler experience and be willing to learn about the other. Responsibilities:
 • Translate generic shader IR to machine specific IR
 • Integrate GPU compiler with driver
 • Implement OpenGL ES/Metal drivers
 • Debug and analyze code generation issues
 • Validate GPU features for new SoCs (post-silicon bring-up) • Analyze possible future GPU architectures

Education & Experience

Technical BS/MS degree

Additional Requirements

  • A plus:
  • Experience with driver or operating system development
  • Experience with parallel and asynchronous processing
  • Experience with hardware bring-ups