Accelerating unstructured finite volume computations on   field-programmable gate arrays
  Accurate simulations of various physical processes on digital computers requires huge computing performance, therefore accelerating these scientific and engineering applications has a great importance. Density of programmable logic devices doubles in every 18 months according to Moore's Law. On the recent devices around one hundred double precision floating-point adders and multipliers can be implemented. In the paper an FPGA based framework is described to efficiently utilize this huge computing power to accelerate simulation of complex physical spatiotemporal phenomena. Simulating complicated geometries requires unstructured spatial discretization which results in irregular memory access patterns severely limiting computing performance. Data locality is improved by mesh node renumbering technique which results in predictable memory access pattern. Additionally storing a small window of node data in the on-chip memory of the FPGA can increase data reuse and decrease memory bandwidth requirements. Generation of the floating-point data path and control structure of the arithmetic unit containing dozens of operators is a very challenging task when the goal is high operating frequency. Long and high fanout control lines and improper placement can severely affect computing performance. In the paper an automatic data path generation and partitioning algorithm is presented to eliminate long delays and aid placement of the circuit. Efficiency and use of the framework is described by a case study solving the Euler equations on an unstructured mesh using finite volume technique. On the currently available largest FPGA the generated architecture contains three processing elements working in parallel providing 90 times speedup compared to a high performance microprocessor core. 
Zoltan Nagy, Csaba Nemes, Antal Hiba, Arpad Csik, Andras Kiss, Miklos   Ruszinko, Peter Szolgay
cs.PF