Conference Paper

Implementation of three-dimensional FPGA-based FDTD solvers: an architectural overview

EM Photonics, Inc.
DOI: 10.1109/FPGA.2003.1227265 Conference: Field-Programmable Custom Computing Machines, 2003. FCCM 2003. 11th Annual IEEE Symposium on
Source: DBLP

ABSTRACT Maxwell's equations, which govern electromagnetic propagation, are a system of coupled, differential equations. As such, they can be represented in difference form, thus allowing their numerical solution. By implementing both the temporal and spatial derivatives of Maxwell's equations in difference form, we arrive at one of the most common computational electromagnetic algorithms, the Finite-Difference Time-Domain (FDTD) method (Yee, 1966). In this technique, the region of interest is sampled to generate a grid of points, hereafter referred to as a mesh. The discretized form of Maxwell's equations is then solved at each point in the mesh to determine the associated electromagnetic fields. In this extended abstract, we present an architecture that overcomes the previous limitations. We begin with a high-level description of the computational flow of this architecture.

  • [Show abstract] [Hide abstract]
    ABSTRACT: Modeling, simulation and optimization using com- puting tools are the core approach nowadays in science com- plementary to experiment and theory. Computational Fluid Dynamics (CFD) has evolved many years ago to simulate fluid physics by solving Navier-Stokes equations, or its simple variants, Euler equations. However, most problems spend many hours to get solutions even with expensive supercomputers or clusters. The long computation time required for fluid dynamics simulations has lead the industry to look for some alternatives. Field Programmable Gate Arrays (FPGAs) are becoming more and more attractive for high precision scientific computations. FPGA holds the potential to alleviate this situations. It is possible for an FPGA to configure hundreds of multipliers working concurrently. In this paper, the authors explain the design on implementing the one-dimensional Euler equations in hardware. Two designs with single and double floating-point arithmetic are developed in an FPGA. Synthesis results show that a single floating-point arithmetic design is consumed less area and memory usage, also operating at higher frequency. However, double-precision design is crucial for give a better accuracy of the result. I. INTRODUCTION
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Computational fluids dynamics(CFD) has evolved more than thirty years to simulate fluids physics by solving Navier-Stokes equations, or its simple variants, like Euler and linearized Euler equations. Most problems have to be computed on supercomputers or clusters and spend more than weeks to get solutions, or still impossible to get solutions based on nowadays computer system. Here the authors summarize the basic elements of CFD, and explore the feasibility of its implementation based on the expeditious developing FPGA techniques. The govern equations of CFD are a system of coupled differential equations, generally have first-and second-order spatial and temporal differential terms. Numerous numerical methods have been applied to represent these terms and solve the equations. One of the most commonly used methods is representing interested areas as a mesh, and approximates differential terms by the finite difference method. Hereafter the associated fluids dynamics are simulated on the corresponding finite difference equations on the mesh. Essentially to say, this method only includes operations of the multiplication and addition, even in the case with very complex geometry boundaries. Moreover, the coefficients which appear in the govern equations usually are constants. One of our three-dimensional computational case representing by the mesh including 1 million cells is programmed by Fortran90 and parallel computed on 40 Opteron 2.2GHz cpus with gigabyte interconnection, and costs around 36 cpu hours and 23 com-munication hours to get fluids dynamics. The computing is definitely not exe-cuted real-time. It will has problem when we try to apply sensors, actuators and the flow control theory together to adjust flow fields dynamically. The reference model in the controller is described by aforementioned partial differential equa-tions and requiring vast computation resource. That is one reason why most current flow control applications can only operated open-looped. The authors always feel it is weird that we are using so expensive hard-ware, generally including several to hundreds cpus with gigabyte switching tech-nology(e.g. Myrinet), which is usually depreciated or outdated quickly, and so complex softwares, like TCP/IP stack and parallel languages(.e.g. high perfor-mance fortran, unified parallel C) or protocol(.e.g. message passage interface), and the only cumbersome task is exchange data between cpus and the multipli-cation with constants. Not to mention that with even so expensive computing infrastructures, the fluids problems can be solved is still very limitive. FPGA holds potentials to alleviate the situations. Firstly, nowadays it is pos-sible to FPGA to configure hundreds of multiplier working concurrently. That 2 Xun Huang et al. means for small computation mesh, every cell can be assigned a multiplier and all operations in every iteration can be finished at the same cycle. For big compu-tation meshes, neighbor cells can be grouped together and the block-structured finite difference method can be applied. The multiplication is executed serial in-side the block, and parallel between blocks. It resembles the philosophy employed in supercomputers. But the cost for communications can be reduced greatly due to the complex and extensive interconnection levels(e.g. 7 layers in the ISO/OSI network model) are bypassed totally. Secondly, the computation structure is only consisted of multiplier, adder and necessary interfaces with peripheral memory or PC. The design and producing costs for this regular structured FPGA should be lower than that of cpus. By the way, the operation costs can be reduced greatly because implementations based on FPGA should consume less power than its corresponding cpu. Finally, we have to admit that current resources which FPGA holds are still too trivial to complex CFD computations. But even with this limiting capaci-ties, computation speedup have gotten in some previous endeavors in [1][2]. The performance of FPGA-based CFD solver is decided by the availability of gates to the implementations of multipliers, rather than by main clock frequency. Until now in the semiconductor industry, the increase of the density is roughly double than the speed in every 18 months(Moore's Law). According to that trend, we predict that FPGA-based CFD solvers can prevail computer-based solvers in 20 years. With an inserted reconfigurable FPGA board on the PC bus, fluids phys-ical scientist can do CFD experiments easily and promptly, and a stand-alone FPGA board can act as a real-time estimator for flow control applications. To the best of authors'knowledge, FPGA's applications for CFD are never talked before, although the Navier-Stokes equations is similar with the Maxwell's equations in the format. The authors hope to shed a light on the topic and communicate between ASIC engineers and CFD scientists. Next research may utilize the off-the-shelf commercial FPGA evaluation board to get benchmarks for linearized Euler equations in small computation domain, and try to construct a real-time flow controller for the model predictive control system.

Full-text (2 Sources)

Available from
Jun 3, 2014