Software Engineer

Santa Clara Valley (Cupertino), California, United States
Software and Services

Summary

Posted:
Role Number:200144958
Apple’s GPU Software team provides the graphics software foundation for 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 for all of Apple’s hardware. Metal 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. Metal provides a 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 also 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. And now Metal 3 provides enhanced support for GPU-driven pipelines, ray tracing, and pro applications. Metal 3 also significantly improves the developer experience with the Metal Memory Debugger and Simulator support.

Key Qualifications

  • Knowledge of CPU architectures
  • Knowledge of Device Drivers, Firmware and Operating Systems
  • Knowledge of CPU and IO Scheduling policies
  • Excellent programming skills and knowledge of C/C++
  • Excellent problem solving and debugging skills
  • Strong communication and teamwork skills
  • Experience with software performance analysis, optimizations and low level programming

Description

We are looking for an engineer to be a part of the Driver Scheduler team. This team works closely with other Driver and Hardware teams and is responsible for (a) scheduling workloads optimally on the GPU and (b) maintaining quality of service across Metal apps. The ideal candidate would have previous GPU driver or Operating Systems experience and be willing to learn about the other. -- Validate GPU and firmware features for new SoCs (post-silicon bring-up) -- Design, implement and evaluate workload scheduling and quality of service policies -- Optimize kernel and firmware code for throughput and low latency -- Design and evaluate possible future GPU and firmware architectures -- Implement OpenGL ES/Metal drivers

Education & Experience

Technical BS/MS degree

Additional Requirements