Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?

The Picture Is Changing

Add it all up, and the results definitively show that GPU-based acceleration of some sort should be mandatory for anyone with a significant amount of editing work to process. Not only do content creators need to keep an eye out for hardware able to accelerate their favorite applications, but they also need to pay attention to how their software of choice utilizes that hardware. And if the tools you're using don't yet take advantage of GPU-based acceleration, it's worth finding out why. Not all workloads are ideally suited to the sort of parallelism that a GPU introduces. But when it comes to media-oriented tasks, many do, in fact, benefit. The question now becomes how quickly vendors will make this support widely available throughout their wares.

“I don't think the OpenCL API in itself is hard,” says GIMP/GEGL developer Victor Oliveira. “In fact, in my opinion, it is cleaner for general-purpose computation than other APIs like OpenGL and CUDA. Things can get hairy when you have to integrate OpenCL in an existing application that doesn't take performance and parallelism into account. Especially when data processing is split in many functions and you have to put all this in a kernel, that can complicate things and may explain why OpenCL adoption is slow.”

Oliveira expects proprietary acceleration APIs to keep their current footholds in niche vertical markets, such as HPC, because such organizations tend to be more forgiving of proprietary systems. In the consumer world, though, he expects open source APIs to become the dominant, superior paradigm. The more vendors that step up their efforts in this space, the faster the transition will happen.

“I think it's very positive that AMD pushes open standards,” says Oliveira. “It really helps to make developers—at least me—more confident about OpenCL, especially in the open source world. As OpenCL support becomes commonplace, we’ll see more applications like GIMP using it, starting with areas that can easily take advantage of the GPGPU parallel programming model: image/video/audio editing, machine learning, games, and so on.”

“We'll continue to look at all new GPGPU advances, as well as CPU advances, for ways to make our products faster,” adds Corel’s Jeff Stephen.  "Faster doesn't just mean doing the same thing in less time; it also means opening up new options and opportunities that would otherwise be too slow to consider.”

For us, these changes can’t come fast enough. As long as users keep their processing local rather than in the cloud, we see a new breed of need for current-gen systems with GPGPU support, especially in the mobile arena. Previously, we never would have dreamed of throwing these sorts of graphics loads at notebooks, and now heterogeneous platforms are able to knife through them more elegantly. By the time our next heterogeneous compute story is on deck (anticipate a focus on media transcoding tools), we should have the next generation of GPU and APU parts ready, and then...well, we expect awesomeness. But there’s only one way to know for sure.

  • ilysaml
    Now Adobe uses both CUDA and OpenCL that's superb.
  • alphaalphaalpha1
    Tahiti is pretty darned fast for compute, especially for the price of the 7900 cards, and if too many applications get proper OpenCL support, then Nvidia might be left behind for a lot of professional GPGPU work if they don't offer similar performance at a similar price point or some other incentive.

    With the 7970 meeting or beating much of the far more expensive Quadro line, Nvidia will have to step up. Maybe a GK114 or a cut-down GK110 will be put into use to counter 7900. I've already seen several forum threads talking about the 7970 being incredible in Maya and some other programs, but since I'm not a GPGPU compute expert, I guess I'm not in the best position to consider this topic on a very advanced level. Would anyone care to comment (or correct me if I made a mistake) about this?
  • A Bad Day
    How many CPUs would it take to match the tested GPUs?
  • blazorthon
    A Bad DayHow many CPUs would it take to match the tested GPUs?
    That would depend on the CPU.
  • esrever
    Would be interesting to compare the i7 ivybridge against trinity in openCL
  • mayankleoboy1
    why no nvidia cards here?
  • mayankleoboy1
    any CUDA vs OpenCL benchmarks?
  • de5_Roy
    can you test like these combos:
    core i5 + 7970
    core i5 hd4000
    trinity + 7970
    trinity apu
    core i7 + 7970
    and core i7 hd 4000, and compare against fx8150 (or piledriver) + 7970.
    it seemed to me as if the apu bottlenecks the 7970 and the 7970 could work better with an intel i5/i7 cpu on the graphical processing workloads.
  • vitornob
    Nvidia cards test please. People needs to know if it's better/faster to go OpenCL or CUDA.
  • bgaimur
    vitornobNvidia cards test please. People needs to know if it's better/faster to go OpenCL or CUDA.

    CUDA is a dying breed.