iOS GPU Kernel Driver Engineer

Santa Clara Valley (Cupertino), California, United States
Hardware

Summary

Posted: Aug 27, 2018
Weekly Hours: 40
Role Number: 113102153
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

  • Excellent communication skills and team player
  • Development experience on Mac OS X or Linux
  • Excellent programming skills with knowledge of C/C++
  • Excellent software design, problem solving and debugging skills
  • Driver or kernel development experience is a plus
  • Operating systems knowledge
  • In-depth knowledge of CPU or GPU architectures

Description

The Pre-Silicon GPU Driver Team is directly responsible for the development of the GPU driver for iOS platforms as well as the silicon bring-up of new Apple SoCs. Its responsibilities span the lifecycle of a new product from initial specification of new GPU features all the way to supporting and validating these features under production iOS. The GPU software team is looking for a first class engineer to join the Pre-Silicon GPU Driver Team. Responsibilities include software driver feature development to support existing graphics APIs on new GPU architectures as well as adding support for the new features enabled on these GPUs. They also include the implementation and debugging of graphics and compute applications, as well as the pre and post-silicon bring-up of new products using these GPUs. The team collaborates with other teams to ensure the driver supports new hardware features and is ready for the next generations of GPU graphics rendering and compute techniques. These teams include - Wider software organization (iOS, Metal framework, etc.) - Hardware design, verification, performance and architecture teams - Build and test automation teams In addition to driver development and silicon bring-up, the team is also responsible for developing driver capture and analysis tools.

Education & Experience

Technical BS/MS degree

Additional Requirements

  • Additional Requirements:
  • -Knowledge/experience of 3D graphics or GPU compute, including: Metal, OpenGL, OpenCL, DirectX/Direct3D or other GPU programming APIs
  • Driver or kernel development experience
  • Experience with FPGA, emulators and other hardware simulators is a plus
  • Compiler technologies such as LLVM is a plus