Eric Berdahl, Senior Engineering Manager at Adobe Inc.
For more than a decade, Adobe has been using heterogenous computing techniques and technology to deliver great customer solutions. OpenCL today is an important tool that helps us deliver better performance and experience to more users and is used in many products. Unfortunately, we don’t use it everywhere, largely because of fundamental economics of software development. Code costs money to write and maintain, but can also pay off in customer empowerment and delight. Through that same decade of heterogeneous computing experience, we’ve developed analytical patterns and yardsticks to guide us in making technology choices and trade-offs for creating products that better empower users.
Experience talking with engineers, inside and outside Adobe, suggests that understanding how to evaluate both the cost and benefit of building individual features, larger subsystems, and whole applications to use OpenCL is often non-intuitive. That same experience demonstrates that the basic principles and concepts are not difficult to explain. Fundamentally, the issues revolve around the implicit cost of developing any form of code, the explicit and implicit costs in developing OpenCL code, and creative use of architecture, design, and implementation to mitigate those costs.
Eric has enjoyed delighting Adobe customers for over a decade. He and his teams have contributed code and features to most Adobe applications in areas ranging from user experience, to heterogeneous computing, and to cloud video publishing and playback. Eric’s 25 years of product development include medical imaging systems for genetic laboratories, object-based operating systems, broadcast video production equipment, and real-time process control frameworks. Eric represents Adobe to the Khronos Group, is Adobe’s official voice in the OpenCL working group, and was an active contributor to the OpenCL 2.0 standard.