GPU Image Processing Framework Software Engineer
Santa Clara Valley (Cupertino), California, United States
Software and Services
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.
- Experience in GPU programming environments
- Strong knowledge of the C/C++ programming language or Objective C, is a plus
- Extensive experience in performance programming; systems programming, including concurrent and memory-constrained programming experience a plus
- Experience in OpenVX, GPUImage, or similar frameworks is a plus
- Good interpersonal skills and ability to work effectively in cross-functional teams
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.
- Experience in Metal/Vulkan/OpenCL programming is a plus - 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