GPU Automation Engineer
Santa Clara Valley (Cupertino) , California , United States
Software and Services
Posted: Jul 22, 2020
Weekly Hours: 40
Role Number: 200181580
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 device drivers for the GPU and Display on all Apple 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 improved 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 adopt these new technologies within their apps.
- Excellent communication skills and a standout colleague
- Experience with Python and Bash
- Validated UNIX fundamentals
- Excellent debugging and analytical skills
- Ability to run multiple tasks and prioritize work accordingly
- Analysis and profiling of performance workloads is a plus
We are looking for an extraordinary automation engineer with experience building and maintaining automated tests. Are you a self-motivated individual who flourishes with being involved in all phases of development? If so, we want you to help drive innovation by working closely with engineering teams to identify, design, and implement tests that will span Apple's latest GPU technologies in software and hardware. To be successful in this role, you have a passion to develop code that is stable and scalable, research and suggest new concepts, and work independently to tackle technical issues. Bonus if you have an eye towards data visualization and automation of analyzing large data sets.
Education & Experience
Bachelor's degree in EE, CS, or related field or relevant experience.