High Performance Computing Research Engineer


San Jose, California, USA

full time

24 Apr 2020


The challenge

The Cloud Technology organization builds platform and client services that are foundational building blocks for many other Adobe products and services. Areas of focus include: identity, security, cloud storage, e-commerce, workflow management, synchronization, customer facing web apps, scalability, infrastructure management and search, just to name a few. Our mission is to build highly scalable, highly available and highly resilient services that fulfill the business objectives of Adobe

The Creative Intelligence Lab within Adobe Research is looking for a research engineer with a specialization in programming languages and performance optimization to work with the domain-specific language Halide ( Join our effort to help product teams throughout the company reap the benefits of Halide for image, video, and audio processing: high performance, cross-platform portability, and code maintainability.

As a research engineer in Adobe Research, you will work closely with scientists and engineers to explore state of the art technologies for productive high-performance programming, helping to integrate new research into Adobe's existing products and growing adoption of best practices in modern signal processing techniques. You will have the opportunity to:

  • Collaborate with world-class scientists and engineers, within Adobe Research and across the company.
  • Help craft, build, test, and deploy novel image and video processing algorithms.
  • Have an impact on shipping applications with millions of users.
  • Learn from your peers and grow into new opportunities.

Key qualifications

  • A passion for making code run fast.
  • An interest in using experimental programming languages and novel tools.
  • Experience optimizing code for modern CPU and GPU architectures by exploiting SIMD, multi-core parallelism, and the cache hierarchy.
  • Demonstrated ability to write efficient, clean, and maintainable C++.
  • Demonstrated ability to work well with others on codebases with >100,000 lines of code.

Additional desired qualifications

  • Familiarity with the Halide domain-specific language.
  • Experience with domain-specific programming languages and compilation.
  • Knowledge of mobile computing as well as desktop computing.
  • Knowledge of signal processing algorithms for images or video.
  • Knowledge of deep learning methods for processing images or video.
  • Ability to read assembly and identify potential performance problems.
  • Experience with performance profiling tools.
  • Experience transferring new research into shipping products.

For more jobs like this subscribe to the weekly newsletter or follow C++ JOBS on Facebook, Linkedin and Twitter for frequent social updates.