Acceleration of Numerical Solutions of Differential Equations Using FPGA-Based Emulation Technology


Numerical analysis is the study of algorithms that use numerical approximation (as opposed to general symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). Typical applications of numerical PDE problems include but are not limited to simulation and modeling problems.

In typical numerical methods such as Finite Element Methods (FEM), PDEs are discretized in space to bring them into finite-dimensional subspace and solved by standard linear algebra subroutines. Spatial discretization could easily result in millions, even billions, of discrete grid points, which correspond to large linear system equations with the same number of unknowns. If the problem was time-dependent, in order to simulate the transient behavior of the problem, we may need to solve the linear system equations for hundreds to thousands of discrete time steps. So, implementation of numerical solutions using software is very time consuming.

Field Programmable Gate Arrays (FPGAs) raises as a suitable solution for this problem. However, area constraints still represent a major obstacle that faces FPGA designs. So, a commercial HW emulation platform was used instead to implement two different hardware-based solvers. In addition, a qualitative comparison with pure software programs such as Matlab, the best industerial tool for matrix operations and ALGLIB, a numerical analysis and data processing library are provided to highlight the merits of implementation of such algorithms on Emulation as the size of FPGAs does not fit the huge size of these algorithms.

B.Sc Thesis