Embedded computing capability to process graphics quickly and efficiently is more important for aerospace and defense applications today than ever before. Moving maps, imaging sensors, and icon overlays on maps and images are only a few of the applications driving graphics-processing boards for military uses.
In a happy coincidence, moreover, the ability to process graphics-particularly for demanding military and aerospace applications-is easier and more accessible today than it ever has been in the past, thanks to commodity graphics-processing chips and accompanying software that makes once-complex graphics applications nearly as easy to program as C software code.
"About 2002 was the first floating-point graphics processing unit (GPU)," explains Scott Thieret, technology director at Mercury Computer Systems in Chelmsford, Mass. "The paradigm was complex. We needed to use DirectX under Windows, and write GPU shaders. That was challenging, but the performance in gigaflops and memory bandwidth was compelling."
Fast-forward to 2007, however, when graphics processing expert NVIDIA Corp. in Santa Clara, Calif., came out with a graphics programming language called Compute Unified Device Architecture, better-known as CUDA, which "completely changed the way GPUs could be programmed," Thieret says. "Instead of writing Assembly language, which shaders were, CUDA was a paradigm shift. CUDA as a programming language looks very much like C."
|The Mercury Computer Systems GSC6201 board, shown above, makes use of general-purpose processors (GPUs).|
So put GPUs from NVIDIA together with the CUDA graphics-processing language, and all of a sudden complex graphics applications were within the reach of embedded systems-particularly for aerospace and defense applications. The only drawback to CUDA, however, is the language is specific to NVIDIA processors.
Today, however, programming GPUs has become even easier than it was with CUDA with the creation of the Open CL standard, which is similar to CUDA, but is not specific to NVIDIA GPUs. "Our customers are asking more and more for Open CL because it runs on everything, and is a much better software-portability story," Thieret says.
Still, the GPU is not the only enabling technology behind today's generation of advanced video and image-processing applications.
Advanced networking and networking switches also are making complex graphics applications accessible to a growing number of systems designers.
"We're really all about doing things with video," says Andrew Hipperson, business development director for the video and display solutions group of Curtiss-Wright Controls Defense Solutions in Letchworth, England.
Curtiss-Wright makes a video system for surveillance helicopters that enables air crews to watch moving images from several onboard cameras on one display, which can be replicated on displays located throughout the aircraft.
"We're dealing with high-definition video and platforms with a lot more high-definition sensors than we used to," Hipperson explains. "We have a lot of high-bandwidth video data. It can be a horrifically complicated scenario."
One of the chief enabling technologies, Hipperson explains, is networking. "One of the technologies in the whole video-management system is basically a switch," he says. "It transfers video over gigabit Ethernet and wireless links, and this drives a lot of the technology."
This kind of networking enables systems designers not only to stitch together imagery from many different sensors on one video screen, but also to add more sensors later with minimal increase in onboard wiring to save space and weight.
The GPU, however, still is creating substantial buzz in the aerospace and defense community. "The biggest thing we have has almost 400 cameras on one platform," explains Dustin Franklin, GPGPU applications engineer at GE Intelligent Platforms in Charlottesville, Va.
This persistent-surveillance system combines images from all these cameras into one image with moving target indicators and other high-level algorithms. "The amount of pixels we are processing is in the gigapixel range," Franklin says. "Swimming in sensors and drowning in data. This is our answer to that problem."
Think of it. Billions of image pixels that must be processed at the same time. It's a massively parallel processing challenge, which the modern GPU is designed specifically to tackle.
"Compared to the CPU [central processing unit], the GPU excels at massively parallel applications that have thousands of tasks you want done at the same time," Franklin says. "GPUs can switch between processing threads with zero overhead."
For graphics processing, the more pixels processed in parallel, the better. Still, the GPU's utility extends beyond graphics processing. Aerospace and defense systems designers are applying GPUs to massive processing tasks, such as radar processing, electronic warfare, and signals intelligence.
Almost anything that requires parallel processing can benefit from the GPU-and now with steadily increasing performance and ease of programming.
"A radar system might have a coherent processing interval that might be as large as 650 megabytes of data," Mercury's Thieret says. "You need to stream that large chunk of data through the processor as quickly as you can. With GPUs you can do many more floating-point operations per clock cycle than you can with an X86-type of processor."
AAEON Electronics Inc.
Aspen Systems Inc.
Asus Computer International Inc.
Avitech International Corp.
Curtiss-Wright Controls Defense Solutions
Emerson Network Power Embedded Computing
GE Intelligent Platforms
General Digital Corp.
Giga-Byte Technology Co., Ltd.
Matrox Graphics Inc.
Mercury Computer Systems
MSI Computer Corp.
RTD Embedded Technologies Inc.
SMART Modular Technologies Inc.