FLOWER: A comprehensive dataflow compiler for high-level synthesis

12/14/2021
by   Puya Amiri, et al.
0

FPGAs have found their way into data centers as accelerator cards, making reconfigurable computing more accessible for high-performance applications. At the same time, new high-level synthesis compilers like Xilinx Vitis and runtime libraries such as XRT attract software programmers into the reconfigurable domain. While software programmers are familiar with task-level and data-parallel programming, FPGAs often require different types of parallelism. For example, data-driven parallelism is mandatory to obtain satisfactory hardware designs for pipelined dataflow architectures. However, software programmers are often not acquainted with dataflow architectures - resulting in poor hardware designs. In this work we present FLOWER, a comprehensive compiler infrastructure that provides automatic canonical transformations for high-level synthesis from a domain-specific library. This allows programmers to focus on algorithm implementations rather than low-level optimizations for dataflow architectures. We show that FLOWER allows to synthesize efficient implementations for high-performance streaming applications targeting System-on-Chip and FPGA accelerator cards, in the context of image processing and computer vision.

READ FULL TEXT
research
02/19/2021

A Compiler Infrastructure for Accelerator Generators

We present Calyx, a new intermediate language (IL) for compiling high-le...
research
04/03/2021

High-Level Synthesis of Security Properties via Software-Level Abstractions

High-level synthesis (HLS) is a key component for the hardware accelerat...
research
10/23/2021

HWTool: Fully Automatic Mapping of an Extensible C++ Image Processing Language to Hardware

Implementing image processing algorithms using FPGAs or ASICs can improv...
research
05/26/2020

Using PHAST to port Caffe library: First experiences and lessons learned

Performance has always been a hot topic in computing. However, the viabl...
research
03/28/2022

Design and Implementation of Knowledge Base for Runtime Management of Software Defined Hardware

Runtime-reconfigurable software coupled with reconfigurable hardware is ...
research
05/15/2023

Kugelblitz: Streamlining Reconfigurable Packet Processing Pipeline Design and Evaluation

Reconfigurable packet processing pipelines have emerged as a common buil...
research
05/21/2018

Transformations of High-Level Synthesis Codes for High-Performance Computing

Specialized hardware architectures promise a major step in performance a...

Please sign up or login with your details

Forgot password? Click here to reset