GPU Pre-Silicon Performance Engineer
Santa Clara Valley (Cupertino) , California , United States
Software and Services
Posted: Sep 30, 2021
Role Number: 200284882
Apple's GPU Software team develops Metal, an API for GPU programming that allows efficient use of the GPU and minimizes CPU overhead. It has enabled developers to achieve far greater realism, detail, and interactivity in their games. It is the foundation for utilizing the GPU across all of Apple's innovative products ranging from iPhone, iPad, iPod touch, Apple TV, and Apple Silicon Macs as well as Apple's professional and consumer applications from iWork and Photos Apps to Final Cut Pro. We are looking for an engineer to join the Apple Silicon GPU PreSilicon Performance Team, which is responsible for making our next generations of Apple Silicon GPUs and products even better in terms of performance and responsiveness. The ideal candidate will have a passion for squeezing the best possible performance out of the GPU, and enjoy working across our GPU hardware and software architecture to achieve this.
- Excellent communication and problem solving skills
- Ability to deep dive into performance issues
- Excellent programming skills and knowledge of C/C++/Python
The Apple Silicon GPU PreSilicon Performance Team is responsible for ensuring great GPU performance in all our products. The team collaborates cross-functionally with other software, hardware and architecture teams to evaluate PreSilicon GPU performance. Performance is evaluated using workloads that span benchmarks, games, GPGPU workloads, computational photography, pro-application workflows and other GPU use cases. These workloads are informed by performance targets, competitive landscape and vision of future use cases for our Apple Silicon products that are expected to be powered by GPUs in our chips. Responsibilities include: - Participate in workload selection and preparation of the GPU performance test plan. - Drive performance content delivery to the hardware team and triage functional issues. - Ensure performance profile of workloads prior to delivery. - Deep-dive into hardware investigations to understand and root-cause performance gaps. - Support performance investigations during silicon bring up. - Enhance profiling infrastructure to facilitate performance debug. - Work on automation and visualization tools to identify performance regressions to ensure high quality software. - As an experienced member of the team, you could participate in defining architectural changes for future GPUs.
Education & Experience
BS or MS Degree or equivalent years of experience
- Compiler optimization knowledge is a plus
- Experience with graphics or compute APIs is a plus
- Excellent system debugging skills is a plus