Separation Logic for High-Level Synthesis

Author:

Winterstein Felix J.1,Bayliss Samuel R.2,Constantinides George A.2

Affiliation:

1. Imperial College London, Darmstadt, Germany

2. Imperial College London, London, United Kingdom

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.

Funder

European Space Agency under the Networking/Partnering

EPSRC

Publisher

Association for Computing Machinery (ACM)

Subject

General Computer Science

Reference31 articles.

1. BDTI. 2010. An Independent Evaluation of: The AutoESL AutoPilot High-Level Synthesis Tool. Retrieved March 2 2014 from http://www.bdti.com/Resources/BenchmarkResults/HLSTCP/AutoPilot. BDTI. 2010. An Independent Evaluation of: The AutoESL AutoPilot High-Level Synthesis Tool. Retrieved March 2 2014 from http://www.bdti.com/Resources/BenchmarkResults/HLSTCP/AutoPilot.

2. The Polyhedral Model Is More Widely Applicable Than You Think

3. Symbolic Execution with Separation Logic

4. A practical automatic polyhedral parallelizer and locality optimizer

Cited by 7 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Hardware-accelerated Real-time Drift-awareness for Robust Deep Learning on Wireless RF Data;ACM Transactions on Reconfigurable Technology and Systems;2023-03-11

2. ASAP: Automatic Sizing and Partitioning for Dynamic Memory Heaps in High-Level Synthesis;2019 International Conference on Field-Programmable Technology (ICFPT);2019-12

3. Automated Synthesis of Streaming Transfer Level Hardware Designs;ACM Transactions on Reconfigurable Technology and Systems;2018-11-12

4. Generalized profile-guided iterator recognition;Proceedings of the 27th International Conference on Compiler Construction;2018-02-24

5. Custom Multicache Architectures for Heap Manipulating Programs;IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems;2017-05

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3