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 most tasks and is restricted to basic mathematical calculations. Complicated tasks may require combinations that result in longer processing time. A variety of tasks, though, can slow down a computer's central processor.

Graphics cards with a graphics processor unit are one of the specialized processors people have installed in their computers. These cards handle complicated calculations related to 2D and 3D graphics. These are so specialized they render certain calculations better than the central processor. Here are some of the ways GPUs are becoming important for more than graphics.

Row of graphics cards lined up
South_agency / Getty Images

Accelerating Video

The first application outside of 3D graphics that GPUs were designed to deal with is video. High-definition video streams require the decoding of compressed data to produce 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 format. This process uses a lot of computing power. The computer can complete the transcoding process faster than if it relied on the CPU by using the video capabilities of the graphics processor.

SETI@Home

SETI@Home is a distributed computer application called folding that allows the Search for Extra-Terrestrial Intelligence project to analyze radio signals. It also takes advantage of the extra computing power provided by a computer's GPU. The advanced calculating engines within the GPU allow it to accelerate the amount of data processed in a given period of time compared to the use of only the CPU. SETI@Home can do this with NVIDIA graphics cards by using CUDA or Compute Unified Device Architecture. CUDA 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 the Adobe Creative Suite, starting with CS4 and continuing through the modern suite of applications. This includes many 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. The rendering time for large images or video streams can be completed faster by using the GPU to offload many of these calculations. Some people may notice no difference, while others 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. However, a GPU on a graphics card offers a 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 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 one of the more successful and widely-used items in the computing world. The problem is making these specialized processors accessible to applications outside of graphics. Application writers need to write code specific to each graphics processor. However, with the push for more open standards, computers will get more use out of their graphics cards than ever before.