Job Description
Summary
Apple’s GPU Software team provides the graphics software foundation across all of Apple's innovative products, including iPhone, iPad, Apple TV, Mac, and Apple 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 improve the graphics and compute potential of apps on iOS, macOS, watchOS,, and tvOS. Building upon an efficient low- overhead architecture with pre-compiled 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
Proven Programming skills and knowledge of C/C++
Knowledge of GPU APIs such as Metal, Direct3D, Vulkan & OpenGL
Software design, problem-solving and debugging skills
Knowledge of GPU hardware and software architecture a major plus
Description
The team is now seeking a world-class, driven, and dedicated engineer to work in our GPU Developer Technologies group. This group is responsible for building the Metal frame debugger, shader profiler, counter profiler, Metal System Trace & other GPU
Developer tools provided to developers in Xcode and the iOS, tvOS, and macOS SDKs. Building these tools requires collaborating with multiple groups including Xcode, iOS, macOS, and all aspects of GPU software, and working with innovative technologies such as VR, AR, and GPU-accelerated machine learning.
Responsibilities:
Implement the core technologies upon which the rest of the tools are built. This includes systems to capture, inspect, and modify usage of the GPU through Metal.
Build tools specific functionality within the Metal framework.
Design and implement algorithms to analyze GPU workloads using HW performance counters & Metal frame data.
Work with frameworks accelerated by Metal to provide a foundation for debugging & profiling.
Contribute to the specification and design of future debugging & profiling functionality within Apple GPUs.
Education & Experience
Technical BS/MS degree
Additional Requirements
Nice to have:
Experience developing graphics performance and profiling tools a plus
Experience with performance optimizations a plus
Systems engineering experience or low-level hardware experience a plus- Development experience on iOS, tvOS or macOS a plus
Development experience with Cocoa and Objective C or Sw
Role Number: 200292923