iOS PreSilicon User-mode GPU Driver Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
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.
- Software driver feature development to support existing graphics APIs on new GPU architectures
- Implement new Metal features enabled on these GPUs.
- Implementation and debugging of graphics and compute applications
- Translate generic IR to machine specific IR in LLVM based compilation workflow
- Integrate GPU compiler with the GPU driver
- Validate new features and existing features on PreSilicon and post-silicon
- Pre-Silicon and post-silicon bring up of GPUs
Metal is Apple’s foundational graphics API for GPU programming that provides up to a 10x increase in efficiency by minimizing CPU overhead. This dramatic increase in efficiency allows developers to achieve greater realism, detail, and interactivity in their applications and games. 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 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 The GPU software team is looking for a first class engineer to join the Pre-Silicon GPU Driver Team.
Education & Experience
Technical BS/MS degree
- 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 Metal, DirectX, Vulkan or OpenGL
- Experience with driver or operating system development Low-level programming experience
- Strong communication and teamwork skills