Accelerating Simulations Through the Use of General Purpose Graphical Processing Units (GPGPUs)
Computer processors known as graphical processing units (GPUs) are massively parallel processors that outperform multi-core processors in solving computing problems that can be broken down into a large number of less complex, independent processing tasks. These computing problems, commonly known as embarrassingly parallel problems, arise naturally in physics-based modeling and simulation (M&S). While modern multi-core processors contain a handful of central processing units (CPUs or cores), GPUs contain hundreds; though GPU cores are specialized, and are not exactly equivalent in versatility or complexity to the modern CPU.
Traditionally, GPUs were designed to handle computer graphics algorithms, which are described in the form of highly parallel mathematical operations. Once the industry realized that GPUs could be used for general purpose computing, programmers were required to configure their computing tasks as a series of graphics operations. This became cumbersome and time consuming. Over time, standardized software Application Programming Interfaces (APIs) were developed, creating the field known as General Purpose Computing using Graphical Processing Units (GPGPUs). Current APIs include the open standard OpenCL, from the Khronos Group consortium, and the NVIDIA proprietary CUDA® (Computer Unified Device Architecture).
Rapid advances in semiconductor manufacturing and a high demand for the devices, have made GPGPU-capable commercial off the-shelf (COTS) graphics boards affordable and easily available. The latest generation cards are peak-capable of hundreds of gigaflops (109 floating point operations per second).
Raytheon employs GPGPU technology as a cost-effective way to accelerate simulation and computation, and to increase computing power (Figure 1). The technology has been used in air warfare, land combat, and air and missile defense simulations to accelerate computationally intensive models and enable high-fidelity testing of real-time software. In particular, it has been applied to electro-optic (EO) scene generation and sensor modeling, radar beam forming, signal decoding, and general purpose scattering-based scene generation. It has enabled new capabilities, such as the ability to test embedded real-time signal processing algorithms in a computer-in-the-loop (CIL) configuration that uses high-fidelity, dynamic real-time scene generation (RTSG).
Complex simulations producing sensor images can be accelerated up to 100 times without a major compromise in scene content fidelity and numerical equivalence. This capability allows modelers to architect their designs in ways that accelerate computations while still maximizing code reuse, i.e., not requiring development of separate streamlined lower-fidelity models to support real-time simulation testing.
Vendors and original equipment manufacturers are partnering with Raytheon to explore GPU implementations in harsh, rugged environments and low-power situations to provide the same level of performance for applications in an operational environment as well.
Share This Story