Domain specific abstractions for the development of fast-by-construction dataflow codes on FPGAs

Research output: Contribution to journalArticlepeer-review

Abstract

FPGAs are popular in many fields but yet to gain wide acceptance for accelerating HPC codes. A major cause is that whilst the growth of High Level Synthesis (HLS), enabling the use of C or C++, has increased accessibility, without wide-spread algorithmic changes these tools only provide correct-by-construction rather than fast-by-construction programming. The fundamental issue is that HLS presents a Von Neumann based execution model which is poorly suited to FPGAs, resulting in significant disconnect between HLS's language semantics and how experienced FPGA programmers structure dataflow algorithms to exploit hardware. We have developed the high-level language Lucent which builds on principles previously developed for programming general-purpose dataflow architectures. Using Lucent as a vehicle, in this paper we explore appropriate abstractions for developing application specific dataflow machines on reconfigurable architectures. The result is an approach enabling fast-by-construction programming for FPGAs, delivering competitive performance against hand optimised HLS codes whilst significantly enhancing programmer productivity.
Original languageEnglish
Article number4
Pages (from-to)334-360
Number of pages26
JournalChips
Volume3
Issue number4
DOIs
Publication statusPublished - 4 Oct 2024

Keywords / Materials (for Non-textual outputs)

  • FPGAs
  • dataflow
  • high level synthesis
  • Lucent
  • programming models

Fingerprint

Dive into the research topics of 'Domain specific abstractions for the development of fast-by-construction dataflow codes on FPGAs'. Together they form a unique fingerprint.

Cite this