Sign in with
Sign up | Sign in

Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?

Can OpenGL And OpenCL Overhaul Your Photo Editing Experience?
By

In our continuing look at the heterogeneous computing ecosystem, it's time to turn our attention to the photo editing apps currently able to exploit OpenCL- and OpenGL-capable hardware. We interview experts, run benchmarks, and draw some conclusions.

The processing loads common in video editing are well known; it doesn’t take more than a couple of 1080p tracks and a filter or two to soak up 100% of CPU resources in many systems. However, not as many people appreciate the significant compute burden imposed by modern digital photography workloads. Adding a sepia filter to an eight-megapixel (MP) image may be no big deal, but how about a complex blur to an 18 MP RAW image?

Even if your editing tasks don't swamp your CPU, they can still take a significant amount of time to execute, especially for multi-image batch jobs. More time means more waiting. For professionals, that translates to a loss of income. And pauses in your workflow prevent you from operating at the pace of your creativity, stopping you dead in your tracks. You want to edit as the creative options stream through your mind.

The object of the game, of course, is to devise new ways of getting more processing work done in less time. In two prior articles, we examined how modern GPUs, including those embedded within CPUs and APUs (compute engines with on-die graphics capabilities), can be leveraged by industry standard APIs to accelerate highly parallel operations within video post-processing and games. The same is now increasingly true within the world of photo editing.

Adobe, for example, has a long and impressive history of adopting hardware technologies that lend themselves well to accelerating media operations. The company has used OpenGL to accelerate certain functions through the GPU within Photoshop since version CS4, and such use has expanded with each subsequent release. Now, with the introduction of Photoshop CS6, the program opens its doors to OpenCL as a means to achieve even broader GPU-based acceleration.

Adobe is not alone. An intriguing but little-known photo workflow tool called Musemage now leverages OpenGL and OpenCL throughout its many workflow stages. The ever-popular open source photo editor GIMP now similarly employs these APIs in several areas. We also acquired a pre-release version of Corel’s AfterShot Pro, tweaked by Corel to bring early OpenCL support online specifically for our testing here.

We will test each of these applications across five system configurations and look for patterns in the results. How much does open standards-based GPU acceleration really help in these image-oriented tasks? Is there a difference in how much APUs and GPUs leverage accelerated features? Does acceleration scale evenly with graphics horsepower? Let’s find out.

Display all 53 comments.
This thread is closed for comments
Top Comments
  • 17 Hide
    ilysaml , June 11, 2012 4:30 AM
    Now Adobe uses both CUDA and OpenCL that's superb.
Other Comments
  • 17 Hide
    ilysaml , June 11, 2012 4:30 AM
    Now Adobe uses both CUDA and OpenCL that's superb.
  • 3 Hide
    alphaalphaalpha1 , June 11, 2012 5:39 AM
    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?
  • 1 Hide
    A Bad Day , June 11, 2012 6:16 AM
    How many CPUs would it take to match the tested GPUs?
  • 2 Hide
    blazorthon , June 11, 2012 6:17 AM
    A Bad DayHow many CPUs would it take to match the tested GPUs?


    That would depend on the CPU.
  • 5 Hide
    esrever , June 11, 2012 8:00 AM
    Would be interesting to compare the i7 ivybridge against trinity in openCL
  • 1 Hide
    mayankleoboy1 , June 11, 2012 8:50 AM
    why no nvidia cards here?
  • 2 Hide
    mayankleoboy1 , June 11, 2012 8:51 AM
    any CUDA vs OpenCL benchmarks?
  • 7 Hide
    de5_Roy , June 11, 2012 8:57 AM
    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.
  • 1 Hide
    vitornob , June 11, 2012 10:10 AM
    Nvidia cards test please. People needs to know if it's better/faster to go OpenCL or CUDA.
  • 7 Hide
    bgaimur , June 11, 2012 11:21 AM
    vitornobNvidia cards test please. People needs to know if it's better/faster to go OpenCL or CUDA.


    http://www.streamcomputing.eu/blog/2011-06-22/opencl-vs-cuda-misconceptions/

    CUDA is a dying breed.
  • -1 Hide
    Anonymous , June 11, 2012 11:28 AM
    no intel or nvidia because for professional editing you need hardware capable of more than gaming...
  • 1 Hide
    A Bad Day , June 11, 2012 11:38 AM
    blazorthonThat would depend on the CPU.


    2687W: 2P server CPU, 8 core (16 threads), 3.1 GHz (3.8 GHz turbo), and 20 MB of L3 cache.

    Cost per CPU: $1885
  • 5 Hide
    blazorthon , June 11, 2012 1:40 PM
    nousernameno intel or nvidia because for professional editing you need hardware capable of more than gaming...


    Quadro, Tesla... These are graphics cards that are also capable of more than gaming, even if like alpha said above, many of them aren't always the very fastest such cards for compute performance anymore and most definitely aren't the fastest compute cards for the money.

    A Bad Day2687W: 2P server CPU, 8 core (16 threads), 3.1 GHz (3.8 GHz turbo), and 20 MB of L3 cache.Cost per CPU: $1885


    I'll have a look and see if I can find benchmarks to compare with those done in this article.
  • 2 Hide
    annymmo , June 11, 2012 3:33 PM
    I'm hoping that OpenCL will make it possible to implement high demanding video codecs for smartphone GPU's.

    This would allow software vendors to implement their video format of choice everywhere while making it able to play fluently everywhere where it matters!
  • 1 Hide
    annymmo , June 11, 2012 3:35 PM
    And being able to play video's fluently on computers with weak CPU's.
  • 3 Hide
    blazorthon , June 11, 2012 3:40 PM
    annymmoAnd being able to play video's fluently on computers with weak CPU's.


    What semi-modern computer has a CPU so weak that it can't play video? Even a single core Atom CPU can play video without trouble. I'd be more worried about old GPUs (such as older Atom netbook GPUs and other weak GPUs) not always being able to play modern video very well, not CPUs. Heck, even my almost ten year old laptop with an old P4 is GPU limited in video, not CPU limited.
  • 5 Hide
    Yuka , June 11, 2012 3:58 PM
    blazorthonWhat semi-modern computer has a CPU so weak that it can't play video? Even a single core Atom CPU can play video without trouble. I'd be more worried about old GPUs (such as older Atom netbook GPUs and other weak GPUs) not always being able to play modern video very well, not CPUs. Heck, even my almost ten year old laptop with an old P4 is GPU limited in video, not CPU limited.


    Prior to the HD3k, Intel wasn't able to play videos decently; only blocky and badly rendered pictures of something moving on the screen. Period.

    And no, unless the Atoms are on the ION platform, they can't play any video in more than SD format. Let alone apply filters for re-size.

    And to directly answer your question. Core2 Duos on laptops were not able to play videos decently and nothing before that was able to, where any iGPU from nVidia or AMD was able to prior to the C2D's in notebooks. I'm pretty sure in desktop was not that much different.

    Cheers!
  • 2 Hide
    blazorthon , June 11, 2012 4:04 PM
    YukaPrior to the HD3k, Intel wasn't able to play videos decently; only blocky and badly rendered pictures of something moving on the screen. Period.And no, unless the Atoms are on the ION platform, they can't play any video in more than SD format. Let alone apply filters for re-size.And to directly answer your question. Core2 Duos on laptops were not able to play videos decently and nothing before that was able to, where any iGPU from nVidia or AMD was able to prior to the C2D's in notebooks. I'm pretty sure in desktop was not that much different.Cheers!


    My GMA 950 IGP of my 2GHz Pentium-Dual Core computer (on-board IGP) from 2007 or so would disagree with you. It handles 720p excellently and 1080p well and even my Pentium 4 630 from my 2004 desktop can handle 1080p excellently once I gave it a Radeon 5450. It's CPU is only a 3GHz P4. My old Dell 2.4GHz P4 laptop with an Intel IGP (I'd have to check to make sure which one it is) can't handle 720p very well, but the CPU has not trouble with it, just the GPU. Heck, my Atom netbook (1.6GHz single core from around two years ago, I'd have to check the model to be sure of it's GPU and CPU model number) can play 480p just fine and 720p/1080p also don't tax the CPU much, just the GPU.

    My whole point is that weak CPUs have no trouble with video, only weak GPUs have trouble with video. You'd have to find an extremely slow CPU to be unable to watch video on it so long as the rest of the computer, such as the graphics, are good enough. Even low-end GPUs like my GMA 950 can handle video playback decently, so having a GPU should not be much of a problem except with extremely weak systems such as some Intel netbooks or a very old notebook/desktop without a decent video card.
  • 3 Hide
    wiyosaya , June 11, 2012 4:28 PM
    bgaimurhttp://www.streamcomputing.eu/blog [...] nceptions/CUDA is a dying breed.

    Maybe so, howerver, nVidia is supporting openCL with 301.42 drivers. IMHO, having nVidia cards benchmarked would be of interest to those of us who own nVidia cards.
  • -5 Hide
    nebun , June 11, 2012 5:19 PM
    bgaimurhttp://www.streamcomputing.eu/blog [...] nceptions/CUDA is a dying breed.

    that's why there are more CUDA apps out there....you are very wrong my friend....CUDA is and will be the better engine
Display more comments