GPU Image Processing Framework Software Engineer

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

Summary

Posted: Feb 12, 2019
Weekly Hours: 40
Role Number: 114031590
iPhone is the most popular camera in the world, and at the heart of the image quality and effects that have made it so sits Core Image, Apple’s industry leading GPU-centric image processing framework. Join us and help drive phenomenal and groundbreaking imaging capabilities across iOS and macOS, powering leading mobile and desktop technologies from iPhone's Portrait Mode and Stage Light to the Mac's iMovie, Photos, Quartz Composer and top third party image editing applications, collaborating with teams across the company and beyond, and directly impacting the millions of photos captured across the Apple ecosystem every day. Imagine what you could do here with your abilities and expertise.

Key Qualifications

  • Experience in GPU programming environments; experience in Metal/Vulkan/OpenCL programming a plus.
  • Strong knowledge of the C/C++ programming language.
  • Extensive experience in performance programming; systems programming, including concurrent and memory-constrained programming experience a plus.
  • Experience in image processing programming.
  • Good interpersonal skills and ability to work effectively in cross-functional teams.

Description

We are looking for a senior software engineer to join the Apple Camera and Photos team to help develop the next generation GPU-based imaging processing technologies on mobile and deskop platforms with emphasis on performance optimization. You will play a meaningful role in adding new capabilities and optimizing performance for industry leading image processing frameworks. The responsibilities include collaborating with teams across and beyond the company to develop new algorithms for future initiatives in computational photography, identify key use cases for performance maximization, analyzing and investigating the performance of image processing pipelines, identifying bottlenecks and opportunities for performance improvements, designing and extending efficient processing pipelines, and implementing optimized code paths for the best results.

Education & Experience

MS in Computer Science or related discipline and/or 5+ years of experience.

Additional Requirements

  • - Experience with Unix/Linux highly desired. Experience in OS X / Darwin is a major plus.
  • - Familiarity with H264/JVT, MPEG 4 as well as common media container formats, a plus.
  • - Familiarity with A/V compression/decompression, synchronization technology is desired.