iOS GPU Driver Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services


Role Number:200128114
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 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

  • Excellent programming skills and knowledge of C/C++
  • Solid understanding of real-time graphics concepts and algorithms
  • Excellent software design, problem solving and debugging skills
  • Knowledge of GPU and CPU architectures
  • Experience with OpenGL and/or DirectX
  • Development experience on Unix, Linux or Mac OS X
  • Experience with driver or operating system development
  • Low-level programming experience
  • Experience analyzing and optimizing the performance of 3D applications
  • Strong communication and teamwork skills
  • Strong track record of building high performance, production quality software on
  • schedule


iOS GPU Driver team is responsible for building graphics drivers for iOS, tvOS, and watchOS devices through collaboration with compiler and hardware groups. They are also responsible for optimizing those drivers through analysis and collaboration with both internal and external developers. The ideal candidate should have previous GPU driver experience or low-level game console programming. Responsibilities include: • In-depth performance analysis of Metal and OpenGL ES drivers • Developing Metal and OpenGL ES drivers • Working with compiler and compute teams to analyze performance, implement features and debug issues • Working with developers to optimize their applications and games • Validating GPU features for new SoCs (post-silicon bring-up) • Analyzing possible future GPU architectures and rendering algorithms

Education & Experience

Technical BS/MS degree.

Additional Requirements

  • Experience with parallel and asynchronous processing
  • Knowledge of compiler architecture and optimizations
  • Experience with GPU performance analysis tools
  • Knowledge of software security and secure operating system • Low-level console development experience