Video gaming computers and video game consoles available today typically contain a graphics processing unit (GPU), which is very efficient at manipulating and displaying computer graphics. However, the unit's highly parallel structure also makes it more efficient than a general-purpose central processing unit for a range of complex calculations important to defense applications.
Researchers in the Georgia Tech Research Institute (GTRI) and the Georgia Tech School of Electrical and Computer Engineering are developing programming tools to enable engineers in the defense industry to utilize the processing power of GPUs without having to learn the complicated programming language required to use them directly.
"As radar systems and other sensor systems get more complicated, the computational requirements are becoming a bottleneck," said GTRI senior research engineer Daniel Campbell. "We are capitalizing on the ability of GPUs to process radar, infrared sensor and video data faster than a typical computer and at a much lower cost and power than a computing cluster."
Mark Richards, a principal research engineer and adjunct professor in the School of Electrical and Computer Engineering, is collaborating with Campbell and graduate student Andrew Kerr to rewrite common signal processing commands to run on a GPU. This work is supported by the U.S. Defense Advanced Research Projects Agency and the U.S. Air Force Research Laboratory.
The researchers are writing functions defined in the Vector, Signal and Image Processing Library (VSIPL) to run on GPUs. VSIPL is an open standard developed by embedded signal and image processing hardware and software vendors, academia, application developers and government labs. GPU VSIPL is available for download at (http://gpu-vsipl.
The researchers are currently writing the functions in Nvidia's CUDA™ language, but the underlying principles can be applied to GPUs developed by other companies, according to Campbell. With GPU VSIPL, engineers can use high-level functions in their C programs to perform linear algebra and signal processing operations, and recompile with GPU VSIPL to take advantage of the speed of the GPU. Studies have shown that VSIPL functions operate between 20 and 350 times faster on a GPU than a central processing unit, depending on the function and size of the data set.
"The results are not surprising because GPUs excel at performing repetitive arithmetic tasks like those in VSIPL, such as signal processing functions like Fourier transforms, spectral analysis, image formation and noise filtering," noted Richards. "We've just alleviated the need for engineers to understand the entire GPU architecture by simply providing them with a library of routines that they frequently use."
The research team is also assessing the advantages of GPUs by running a library of benchmarks for quantitatively comparing high-performance, embedded computing systems. The benchmarks address important operations across a broad range of U.S. Department of Defense signal and image processing applications.
Preliminary studies have shown several of the benchmarks have straightforward parallelization schemes that result in faster operation without requiring significant optimization. For other benchmarks, additional research needs to be conducted into optimizing the use of multiple GPUs.
For the future, the researchers plan to continue expanding the GPU VSIPL, develop additional defense-related GPU function libraries and design programming tools to utilize other efficient processors, such as the cell broadband engine processor at the heart of the PlayStation 3 video game console.