Application specific dataflow machine construction for programming FPGAs via Lucent
Nick Brown

TL;DR
This paper advocates for using dataflow-based programming languages, exemplified by Lucent, to enable faster, more efficient FPGA programming for HPC applications by providing high-level abstractions that align with FPGA architectures.
Contribution
It introduces Lucent, a modern dataflow language inspired by historical languages, to improve productivity and performance in FPGA programming for HPC kernels.
Findings
Lucent offers high productivity for FPGA programming.
Dataflow languages can bridge the gap between high-level programming and FPGA architecture.
Potential for significant performance improvements in HPC kernel acceleration.
Abstract
Field Programmable Gate Arrays (FPGAs) have the potential to accelerate specific HPC codes. However even with the advent of High Level Synthesis (HLS), which enables FPGA programmers to write code in C or C++, programming such devices still requires considerable expertise. Much of this is due to the fact that these architectures are founded on dataflow rather than the Von Neumann abstraction of CPUs or GPUs. Thus programming FPGAs via imperative languages is not optimal and can result in very significant performance differences between the first and final versions of algorithms on dataflow architectures with the steps in between often not obvious and requiring considerable expertise. In this position paper we argue that languages built upon dataflow principals should be exploited to enable fast by construction codes for FPGAs, and this is akin to the programmer adopting the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Interconnection Networks and Systems · Parallel Computing and Optimization Techniques
