Memory-Aware Functional IR for Higher-Level Synthesis of Accelerators

Christof Schlaak, Tzung-Han Juang, Christophe Dubach

Research output: Contribution to journalArticlepeer-review

Abstract

Specialized accelerators deliver orders of a magnitude of higher performance than general-purpose processors. The ever-changing nature of modern workloads is pushing the adoption of Field Programmable Gate Arrays (FPGAs) as the substrate of choice. However, FPGAs are hard to program directly using Hardware Description Languages (HDLs). Even modern high-level HDLs, e.g., Spatial and Chisel, still require hardware expertise.This article adopts functional programming concepts to provide a hardware-agnostic higher-level programming abstraction. During synthesis, these abstractions are mechanically lowered into a functional Intermediate Representation (IR) that defines a specific hardware design point. This novel IR expresses different forms of parallelism and standard memory features such as asynchronous off-chip memories or synchronous on-chip buffers. Exposing such features at the IR level is essential for achieving high performance.The viability of this approach is demonstrated on two stencil computations and by exploring the optimization space of matrix-matrix multiplication. Starting from a high-level representation for these algorithms, our compiler produces low-level VHSIC Hardware Description Language (VHDL) code automatically. Several design points are evaluated on an Intel Arria 10 FPGA, demonstrating the ability of the IR to exploit different hardware features. This article also shows that the designs produced are competitive with highly tuned OpenCL implementations and outperform hardware-agnostic OpenCL code.
Original languageEnglish
Article number16
Number of pages26
JournalACM Transactions on Architecture and Code Optimization
Volume19
Issue number2
Early online date31 Jan 2022
DOIs
Publication statusPublished - Jun 2022

Keywords / Materials (for Non-textual outputs)

  • High-level synthesis
  • accelerators
  • functional IR
  • compilers

Fingerprint

Dive into the research topics of 'Memory-Aware Functional IR for Higher-Level Synthesis of Accelerators'. Together they form a unique fingerprint.

Cite this