GPU Developer Technology Engineer

Employer

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