Accelerating unstructured finite volume computations on field-programmable gate arrays

Zoltán Nagy, Csaba Nemes, Antal Hiba, Árpád Csík, András Kiss, Miklõs Ruszinkõ, Péter Szolgay

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

In the paper, an field-programmable gate array (FPGA)-based framework is described to efficiently accelerate unstructured finite volume computations where the same mathematical expression has to be evaluated at every point of the mesh. The irregular memory access patterns caused by the unstructured spatial discretization are eliminated by a novel mesh node reordering technique, and a special architecture is designed to fully utilize the benefits of the predictable memory access patterns. In the proposed architecture, a fixed-size moving window of the input stream of the reordered state variables is cached into the on-chip memory and a pipelined chain of processing elements, which gets input only from the fast on-chip memory, is used to carry out the computations. The arithmetic unit (AU) of the processing elements is generated from the data flow graph extracted from the given mathematical expression. The data flow graph is partitioned with a novel graph partitioning algorithm to break up the AU into smaller locally controlled parts, which can be more efficiently implemented in FPGA than the globally controlled AU. The proposed architecture and algorithms are presented via a case study solving the Euler equations on an unstructured mesh. On the currently available largest FPGA, the generated architecture contains three processing elements working in a pipelined fashion to provide one order of magnitude speedup compared with a high performance microprocessor and three times speedup compared with a high performance graphics processing unit.

Original languageEnglish
Pages (from-to)615-643
Number of pages29
JournalConcurrency Computation Practice and Experience
Volume26
Issue number3
DOIs
Publication statusPublished - Mar 10 2014

    Fingerprint

Keywords

  • FPGA acceleration
  • partial differential equation
  • unstructured mesh

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Computer Science Applications
  • Computer Networks and Communications
  • Computational Theory and Mathematics

Cite this