Separation logic for High-Level Synthesis
File(s)FelixTRETS15.pdf (357.56 KB)
Accepted version
Author(s)
Winterstein, FJ
Bayliss, SR
Constantinides, GA
Type
Journal Article
Abstract
High-Level Synthesis (HLS) promises a significant shortening of the FPGA design cycle by raising the abstraction level of the design entry to high-level languages such as C/C++. However, applications using dynamic, pointer-based data structures and dynamic memory allocation remain difficult to implement well, yet such constructs are widely used in software. Automated optimizations that leverage the memory bandwidth of FPGAs by distributing the application data over separate banks of on-chip memory are often ineffective in the presence of dynamic data structures due to the lack of an automated analysis of pointer-based memory accesses. In this work, we take a step toward closing this gap. We present a static analysis for pointer-manipulating programs that automatically splits heap-allocated data structures into disjoint, independent regions. The analysis leverages recent advances in separation logic, a theoretical framework for reasoning about heap-allocated data that has been successfully applied in recent software verification tools. Our algorithm focuses on dynamic data structures accessed in loops and is accompanied by automated source-to-source transformations that enable automatic loop parallelization and memory partitioning by off-the-shelf HLS tools. We demonstrate the successful loop parallelization and memory partitioning by our tool flow using three real-life applications that build, traverse, update, and dispose of dynamically allocated data structures. Our case studies, comparing the automatically parallelized to the direct HLS implementations, show an average latency reduction by a factor of 2 × across our benchmarks.
Date Issued
2016-02-03
Date Acceptance
2015-12-01
Citation
ACM Transactions on Reconfigurable Technology and Systems, 2016, 9 (2)
ISSN
1936-7406
Publisher
ACM
Journal / Book Title
ACM Transactions on Reconfigurable Technology and Systems
Volume
9
Issue
2
Copyright Statement
© ACM, 2016. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Reconfigurable Technology and Systems, {VOL# 9, ISS# 2, (3 Feb 2016} https://dx.doi.org/10.1145/2836169
Sponsor
Engineering & Physical Science Research Council (EPSRC)
Engineering & Physical Science Research Council (E
Royal Academy Of Engineering
Imagination Technologies Ltd
Grant Number
EP/I020357/1
11908 (EP/K034448/1)
Prof Constantinides Chair
Prof Constantinides Chair
Subjects
1006 Computer Hardware
Publication Status
Published
Article Number
10
Date Publish Online
2015-12-01