Using Graphics Cards for More Than Just 3D Graphics

How the graphics processor is turning into a general processor

The heart of all computer systems lies with the central processing unit. This general-purpose processor handles just about any task. They're restricted to certain basic mathematical calculations. Complicated tasks may require combinations that result in longer processing time. Thanks to the speed of processors, most people don't notice any real slowdowns. A variety of tasks, though, really bog down a computer's central processor.

Graphics cards with their graphics processor unit are one of the few specialized processors many people have installed in their computers. They handle complicated calculations related to 2D and 3D graphics. In fact, they're so specialized they're now better at rendering certain calculations than the central processor. Here are some of the ways GPUs are becoming important for more than just graphics.

Row of graphics cards lined up
 

Accelerating Video

The first real application outside of 3D graphics GPUs were designed to deal with is video. High-definition video streams require the decoding of compressed data to produce their high-resolution images. Both ATI and NVIDIA developed software that lets the graphics processor handle this decoding process rather than the CPU.

The graphics card helps transcode video from one graphics format to another—for example, converting a video-camera file for burning to a DVD. The computer must take the one format and re-render it in the other. This process uses a lot of computing power. By using the special video capabilities of the graphics processor, the computer can complete the transcoding process faster than if it just relied on the CPU.

SETI@Home

SETI@Home, which is a distributed computer application called folding that allows the Search for Extra-Terrestrial Intelligence project to analyze radio signals, also takes advantage of the extra computing power provided by a computer's GPU. The advanced calculating engines within the GPU allows it to accelerate the amount of data processed in a given period of time compared to the use of just the CPU. They are able to do this with NVIDIA graphics cards through the use of the CUDA or Compute Unified Device Architecture, which is a specialized version of C code that can access NVIDIA GPUs.

Adobe Creative Suite and Creative Cloud

The latest big-name application to take advantage of GPU acceleration is Adobe's Creative Suite, starting with CS4 and continuing through the modern suite of applications. This includes a large number of Adobe's flagship products including Acrobat, Flash Player, Photoshop, and Premiere Pro. Essentially, any computer with an OpenGL 2.0 graphics card with at least 512 MB of video memory can be used to accelerate various tasks within these applications.

Why add this capability to the Adobe applications? Photoshop and Premiere Pro, in particular, have a large number of specialized filters that require high-level mathematics. By using the GPU to offload many of these calculations, the rendering time for large images or video streams can be completed faster. Some people may notice no difference while others can see large time gains depending upon what tasks they use and the graphics card they use.

Cryptocurrency Mining

The standard method of acquiring virtual currencies is through a process called cryptocoin mining. In it, you use your computer as a relay for processing computation hashes for dealing with transactions. A CPU can do this at one level but a GPU on a graphics card offers a much faster method. As a result, a PC with a GPU can generate currency faster than one without it.

OpenCL

The most noteworthy development in the use of graphics cards for additional performance comes with the release of the OpenCL, or Open Computer Language, specifications. This specification pulls together a wide variety of specialized computer processors in addition to a GPU and CPU for accelerating computing. All sorts of applications can potentially benefit from using a mix of different processors to increase the amount of data that's processed.

What's Holding GPUs Back?

Specialized processors are nothing new to computers. Graphics processors are just one of the more successful and widely-used items in the computing world. The problem is making these specialized processors easily accessible to applications outside of graphics. Application writers need to write code specific to each graphics processor. But, with the push for more open standards, computers are going to get more use out of their graphics cards than ever before.