A Compiler Infrastructure for Accelerator Generators

02/19/2021
by   Rachit Nigam, et al.
0

We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like control flow representation with loops and conditionals. This split representation enables a new class of hardware-focused optimizations that require both structural and control flow information which are crucial for high-level programming models for hardware design. The Calyx compiler lowers control flow constructs using finite-state machines and generates synthesizable hardware descriptions. We have implemented Calyx in an optimizing compiler that translates high-level programs to hardware. We demonstrate Calyx using two DSL-to-RTL compilers, a systolic array generator and one for a recent imperative accelerator language, and compare them to equivalent designs generated using high-level synthesis (HLS). The systolic arrays are 4.6× faster and 1.1× larger on average than HLS implementations, and the HLS-like imperative language compiler is within a few factors of a highly optimized commercial HLS toolchain. We also describe three optimizations implemented in the Calyx compiler.

READ FULL TEXT
research
02/27/2021

HIR: An MLIR-based Intermediate Representation for Hardware Accelerator Description

The emergence of machine learning, image and audio processing on edge de...
research
12/14/2021

FLOWER: A comprehensive dataflow compiler for high-level synthesis

FPGAs have found their way into data centers as accelerator cards, makin...
research
12/26/2021

Automated Code Optimization with E-Graphs

This thesis proposes an advanced, generic and high-level code rewriting ...
research
07/24/2021

ScaleHLS: A New Scalable High-Level Synthesis Framework on Multi-Level Intermediate Representation

High-level synthesis (HLS) has been widely adopted as it significantly i...
research
08/15/2023

SEER: Super-Optimization Explorer for HLS using E-graph Rewriting with MLIR

High-level synthesis (HLS) is a process that automatically translates a ...
research
02/01/2022

Compiler-Driven Simulation of Reconfigurable Hardware Accelerators

As customized accelerator design has become increasingly popular to keep...
research
09/04/2019

SATURN – Software Deobfuscation Framework Based on LLVM

The strength of obfuscated software has increased over the recent years....

Please sign up or login with your details

Forgot password? Click here to reset