Unstructured Finite Element Computations on Configurable Computers

(Abstract) Scientific solutions to physical problems are computationally intensive. With the increasing emphasis in the area of Custom Computing Machines, many physical problems are being solved using configurable computers. The Finite Element Method (FEM) is an efficient way of solving physical problems such as heat equations, stress analysis and two-and three-dimensional Poisson's equations. This thesis presents the solution to physical problems using the FEM on a configurable platform. The core computational unit in an iterative solution to the FEM, the matrix-by-vector multiplication, is developed in this thesis along with the framework necessary for implementing the FEM solution. The solutions for 2-D and 3-D Poisson's equations are implemented with the use of an adaptive mesh refinement method. The dominant computation in the method is matrix-by-vector multiplication and is performed on the Wildforce board, a configurable platform. The matrix-by-vector multiplication units developed in this thesis are basic mathematical units implemented on a configurable platform and can be used to accelerate any mathematical solution that involves such an operation. iii ACKNOWLEDGMENTS I would like to thank my advisor, Dr. Mark T. Jones, for giving me this opportunity to work in the area of custom computing machines. He has been a great source of inspiration and has guided me throughout my work. I would also like to thank Dr. Peter Athanas for his valuable suggestions. Thanks are due to Dr. J.R.Armstrong for serving on my committee. I also thank my family for their constant encouragement and support. I thank all my friends and colleagues who have made my stay at Virginia Tech a memorable one. Scientific solutions for many physical problems are computationally intensive. Though conventional processors can be used to solve such, they are not necessarily fast problems due to their generality. The computation time for such problems depends on a number of factors including memory access time, pipelineability and sharing of processor time by other processes. The functionality of a general-purpose processor will be underutilized by a specific computation; the efficiency of the processor is low. Hence a processor or a computing system built for a specific purpose tends to be faster. Configurable Computing Machines (CCMs) are competitive solutions for computationally intensive problems [6]. CCMs are custom made for solving a specific kind of problem. The memory and timing issues pertaining to the specific problem are exploited when building a CCM application. This property makes CCMs more efficient than general-purpose processors. CCMs …