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.
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 was a distributed computer application called folding that allowed the Search for Extra-Terrestrial Intelligence project to analyze radio signals. It also took advantage of the extra computing power provided by a computer’s GPU. The advanced calculating engines within the GPU allowed it to accelerate the amount of data processed in a given period of time compared to the use of only the CPU. SETI@Home could do this with the 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 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.