Moving-Window FDTD Handles Propagation In Near-Real Time

The Moving Window Finite Difference Time Domain (MWFDTD) is well suited for porting to the GPU, as calculations can be made in parallel to completely utilize the GPU’s power.

To model real-time propagation, accurate results can be attained with high-fidelity models like ones based on finite-difference-time-domain (FDTD) techniques. Yet such models are limited in space and require enormous computational resources, making it impossible to model long distances. An alternative is to employ the moving-window finite-difference-time-domain (MWFDTD) approach. But it only accounts for the area around the pulse, which means that it is not close to real time (due to computational intensity). This approach can be sped up by using a graphics processor unit (GPU) to share and hasten calculations, as discussed in a paper from Remcom titled, “CUDA Implementation of Moving Window Finite Difference Time Domain.”

The eight-page paper delves into the challenges and techniques involved in converting the MWFDTD algorithm from a C++ implementation to an appropriate form for leveraging GPUs through NVIDIA’s CUDA framework. With the GPU approach, thousands of threads are used simultaneously. Special design considerations are therefore needed to achieve maximum speed. With proper knowledge of CUDA, for example, speed can be raised beyond two orders of magnitude beyond traditional central processing units (CPUs).

The MWFDTD propagation model is based on a modified FDTD to model radio-wave propagation. With the FDTD method, the propagation radio pulse only occupies a small part of the computational space. MWFDTD takes advantage of this characteristic by limiting the computational space to the area surrounding the pulse. The window is only as wide and high as the pulse, which allows longer runs. This limited computational space does not compromise the accuracy of MWFDTD, which is just as accurate as a regular FDTD calculation.

After providing detail on the CUDA GPU, the document summarizes its implementation. The first step is to convert the update equations from C to CUDA. All of the constant data must then be defined, such as material identifiers, material constants, and the other constant arrays. The final step is to implement the functions that will move the window. Simple test cases were developed to utilize the new GPU implementation of the model. It is concluded that MWFDTD is an ideal program to port over to the GPU, as calculations can be made in parallel to completely utilize the GPU’s power.