What’s OpenCL and what does it mean for you?

From Graham Brown, Chief Technology Officer

As Chief Technology Officer at Corel, I’m immersed in technology every day. As a company, we’re always exploring the latest trends and looking for ways to step up innovation. When a new development language like OpenCL comes around, the decision to “jump on board” seems like an easy one to make, but it isn’t always the right call!

By focusing on the outcomes we wish to achieve, and developing a “per situation” decision framework before technology projects begin, we’re adding an important step that will accelerate project delivery, minimize risk and drive team efficiency. In short, it’s easy to get caught up in the possibilities, but it’s important to never lose sight of what’s important to us.

For Corel, our history of working with our communities to pinpoint improvements based on their needs determines our approach. Our priority is, quite simply, our users. Our goal is to have a positive impact on the largest group of users possible and focus our optimization efforts on the features and functions they consider most important. As a company, we have to determine what new technologies are going to benefit our customers and help us accomplish what we’re trying to achieve. Since user experience is our top priority, the exploration of OpenCL was an obvious fit.

OpenCL (Open Computing Language) is a standards-based programming language that allows CPUs, GPUs and other processors to work together for faster and more efficient processing. That means more computing can be done in a shorter amount of time than a single processor could ever achieve on its own. The primary goals of OpenCL usage are as follows:

  • allow near-transparent use of all available computing resources (CPU, GPU or APU)
  • make unused GPU cycles available for non-graphics processing without increasing battery usage or impacting displayed graphics
  • enable data/task-based parallel processing (far beyond that offered just by multi-core CPU’s).

What does that mean for you? With GPU Computing turning mainstream and OpenCL having become an industry standard, adopting and harnessing this newly available computing power will positively impact how you interact with our software. Our goal is to work with companies like AMD to effectively translate this potential into features that will give you the best performance possible.

For Corel products like VideoStudio Pro, WinDVD and Digital Studio, the possibilities of OpenCL optimization revealed themselves in exciting ways-from increased efficiency in the open/save functions, to significant speed enhancements in the rendering and encoding processes, to the extended battery performance vital to video playback. Working with the AMD Fusion team to explore the possibilities of performance and usability enhancements has been a rewarding, ongoing process.

No new technology is without its challenges. We look forward to seeing further strides made in OpenCL unification, allowing for a common method of approaching optimization across all products and chipsets. In the meantime, we continue to support OpenCL in the way that makes the most sense for us-as a way of bringing our users a more rewarding experience. We applaud AMD for their leadership in this regard and the ways in which they have helped move us closer to achieving our goals. With the promise of OpenCL, the future is bright for our users, and we look forward to playing a key role in shaping what is on the horizon.

Want to learn more about OpenCL? Visit www.khronos.org.

About Graham Brown

Graham Brown has served as Corel's Chief Technology Officer since August 2008. In this capacity, Graham is responsible for ensuring that Corel’s technology platforms and IP continually evolve to meet the changing needs of our customers. He’s also responsible for regularly assessing technology opportunities that would complement Corel’s product vision.
This entry was posted in Technology and tagged , . Bookmark the permalink.

2 Responses to What’s OpenCL and what does it mean for you?

  1. Pingback: A framework for code optimization decisions « BrownGraham's Blog

  2. Kimgage says:

    Good article, thanks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.