GPU Kernel Mode Driver/Firmware 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.
- Expert C programming and strong knowledge of SW HW interfacing
- Operating systems fundamentals, kernel coding, device drivers, embedded toolchains and cross compilers, boot loading, memory management, cross platform debugging
- Power management, task scheduling, performance measurement and tuning
- Managing high speed data pathways, cache coherency, and asynchronous events in a high-speed embedded system with multiple processors and bus arbiters
- Experience in HW bringup on pre-silicon validation platforms like FPGA and RTL emulators
- Ability to be effective in a cross-functional team, and work independently with other groups such as the OS team, and the silicon design and validation teams to drive issues to resolution
As an GPU kernel mode driver/firmware engineer, you will be responsible for creating and maintaining the kernel mode driver and firmware running on the GPUs of all of Apple's embedded devices (iPhones, iPads, iPods, AppleTV). GPU kernel mode driver and firmware process the GPU commands generated by the applications use of graphic APIs, and manages the resources used by the API calls. They control which tasks will run on the GPU, at what order and when, manages the power and performance of the GPU, provides data for performance and debugging tools. This position requires someone who likes to write software that is close to the metal, and who has the ability to deep-dive into issues to find solutions that blur the line between HW and SW. Candidate should have previous experience in embedded systems, device drivers, kernel development, firmware, and HW bringup, and be very comfortable dealing with the low level details of how HW works. Experience in GPUs and graphics technologies is a plus.
Education & Experience
Technical BS/MS degree
- Knowledge of compiler architecture and optimizations
- Knowledge of software security and secure operating system
- Low-level console development experience • Experience with parallel and asynchronous processing