// you’re reading...


What’s a GPU and why should I care?

When most of us buy a computer, we carefully examine the computer’s CPU processing specifications, available RAM and hard drive storage capacity. What if there was a more important component we were overlooking?

In most specifications, the Graphics Processing Unit, or GPU, is way down on the spec list and is rarely, if ever, considered by photographers looking to purchase a new computer. This is likely to change by the time you purchase your next computer.

Traditionally, when we make corrections to our photos in a program like Photoshop or Lightroom, the application applies those corrections serially, one pixel at a time, until all the pixels in the photo are adjusted. This is the way CPU (Central Processing Unit) computations are made and is the current standard for most applications on your computer.

The GPU works differently. Instead of queuing up a list of corrections and applying them pixel by pixel, the GPU performs calculations on several pixels simultaneously. By performing corrections in parallel, the GPU significantly reduces the amount of time needed to perform a complex correction. So, for difficult tasks, you’ll spend less time waiting and more time working.

Why Haven’t I Heard About This Before?
Though this information may be newer for photographers, GPU processing has been used in CGI and 3D modeling for many years. In recent years, NVIDIA, makers of graphics cards, developed the CUDA programming environment. This, and the Open CL environment, make it easier for computer programmers to write applications for use with the GPU and the CPU instead of working solely with the CPU.

Already, we’re seeing an expansion in the number of applications being written, or rewritten, to take advantage of GPU processing for a number of common photo and video tasks like noise removal, face detection and panorama stitching. Adobe recently began offering sneak peeks at the Mercury Playback Engine which enables real-time video playback and faster video editing.

What Does It Mean To Me?
We’re at the beginning of a significant shift in the way software applications process and display the pixels in your digital photos and video. This change will make the workflow tools you use today run faster and will enable intelligent software tools like image recognition and smart image masking to become a regular part of your workflow. These cutting-edge software applications, currently in development in university labs, are too slow for commercial use. When written for the GPU however, these applications should be fast, responsive and provide breakthroughs in image processing.

Stay tuned….


3 comments for “What’s a GPU and why should I care?”

  1. […] currently considering which new Mac to buy, and so Jay Kinghorn’s blog post today was of particular interest. Kinghorn is a digital imaging educator who is always articulate and […]

    Posted by AfterCapture's On Photography Blog » Jay Kinghorn: What’s a GPU and Why Should I Care? | March 6, 2010, 2:28 pm
  2. Hi Jay,
    Its been a over a year since this blog was posted. Now we have advanced GPU’s from NVIDIA and AMD. From your view do you see any key differences between them that us humble photogs should be aware of?
    Littleton, CO

    Posted by Allen Harry | July 17, 2011, 12:42 pm
  3. Allen,

    There have been improvements in the GPU processing but the simple answer to your question about the impact to an individual photographer is, not much has changed on the desktop. There still seems to be some settling out in the languages used on the GPU and their support within the OS and individual applications. There has been a lot of improvement in GPU processing on mobile devices and wider adoption in the video, 3d and motion graphics world, but only a handful of photography applications have been rewritten for GPU processing.

    Nik’s Viveza is one of them and I’m told it is really fast on supported NVIDIA cards. http://www.niksoftware.com/company/usa/entry.php?info=company/pressroom/usa_silver_efex_pro_2_announcement.shtml

    Stay tuned!

    Posted by Jay Kinghorn | July 19, 2011, 10:24 am

Post a comment