Predictable Accelerator Design with Time-Sensitive Affine Types

04/09/2020
by   Rachit Nigam, et al.
0

Field-programmable gate arrays (FPGAs) provide an opportunity to co-design applications with hardware accelerators, yet they remain difficult to program. High-level synthesis (HLS) tools promise to raise the level of abstraction by compiling C or C++ to accelerator designs. Repurposing legacy software languages, however, requires complex heuristics to map imperative code onto hardware structures. We find that the black-box heuristics in HLS can be unpredictable: changing parameters in the program that should improve performance can counterintuitively yield slower and larger designs. This paper proposes a type system that restricts HLS to programs that can predictably compile to hardware accelerators. The key idea is to model consumable hardware resources with a time-sensitive affine type system that prevents simultaneous uses of the same hardware structure. We implement the type system in Dahlia, a language that compiles to HLS C++, and show that it can reduce the size of HLS parameter spaces while accepting Pareto-optimal designs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/18/2019

COSMOS: Coordination of High-Level Synthesis and Memory Optimization for Hardware Accelerators

Hardware accelerators are key to the efficiency and performance of syste...
research
07/03/2022

Chimera: A Hybrid Machine Learning Driven Multi-Objective Design Space Exploration Tool for FPGA High-Level Synthesis

In recent years, hardware accelerators based on field-programmable gate ...
research
01/03/2018

Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) Verification

Modern Systems-on-Chip (SoC) designs are increasingly heterogeneous and ...
research
04/05/2021

Meta-level issues in Offloading: Scoping, Composition, Development, and their Automation

This paper argues for an accelerator development toolchain that takes in...
research
11/12/2021

Elastic Silicon Interconnects: Abstracting Communication in Accelerator Design

Communication is an important part of accelerator design, though it is u...
research
03/28/2021

Phism: Polyhedral High-Level Synthesis in MLIR

Polyhedral optimisation, a methodology that views nested loops as polyhe...
research
12/13/2017

Accelerator Codesign as Non-Linear Optimization

We propose an optimization approach for determining both hardware and so...

Please sign up or login with your details

Forgot password? Click here to reset