[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/3199700.3199757acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

COMBA: a comprehensive model-based analysis framework for high level synthesis of real applications

Published: 13 November 2017 Publication History

Abstract

High Level Synthesis (HLS) relies on the use of synthesis pragmas to generate digital designs meeting a set of specifications. However, the selection of a set of pragmas depends largely on designer experience and knowledge of the target architecture and digital design. Existing automated methods of pragma selection are very limited in scope and capability to analyze complex design descriptions in high-level languages to be synthesized using HLS. In this paper, we propose COMBA, a comprehensive model-based analysis framework capable of analyzing the effects of a multitude of pragmas related to functions, loops and arrays in the design description using pluggable analytical models, a recursive data collector (RDC) and a metric-guided design space exploration algorithm (MGDSE). When compared with HLS tools like Vivado HLS, COMBA reports an average error of around 1% in estimating performance, while taking only a few seconds for analysis of Polybench benchmark applications and a few minutes for real-life applications like JPEG, Seidel and Rician. The synthesis pragmas recommended by COMBA result in an average 100x speed-up in performance for the analyzed applications, which establishes COMBA as a superior alternative to current state-of-the-art approaches.

References

[1]
J. Cong et al. Customizable domain-specific computing. IEEE Design & Test of Computers, 28(2):6--15, 2011.
[2]
X. Gao et al. Automatically optimizing the latency, area, and accuracy of c programs for high-level synthesis. In Proc. of FPGA, pages 234--243, 2016.
[3]
Y. Hara et al. Proposal and quantitative analysis of the chstone benchmark program suite for practical c-based high-level synthesis. JIPS, 17:242--254, 2009.
[4]
Y.-K. Kwok et al. Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors. TPDS, 7(5):506--521, 1996.
[5]
T. M. Lattner. An implementation of swing modulo scheduling with extensions for superblocks. PhD thesis, Citeseer, 2005.
[6]
P. Li et al. Resource-aware throughput optimization for high-level synthesis. In Proc. of FPGA, pages 200--209, 2015.
[7]
H.-Y. Liu et al. On learning-based methods for design-space exploration with high-level synthesis. In Proc. of DAC, pages 1--7, 2013.
[8]
N. K. Pham et al. Exploiting loop-array dependencies to accelerate the design space exploration with high level synthesis. In DATE, pages 157--162, 2015.
[9]
L. Pouchet. Polybench/c 4.2.
[10]
A. Putnam et al. A reconfigurable fabric for accelerating large-scale datacenter services. In Proc. of ISCA, pages 13--24, 2014.
[11]
B. R. Rau. Iterative modulo scheduling: An algorithm for software pipelining loops. In Proc. of MICRO, pages 63--74, 1994.
[12]
Y. S. Shao et al. Aladdin:a pre-rtl, power-performance accelerator simulator enabling large design space exploration of customized architectures. In Proc. of ISCA, pages 97--108, 2014.
[13]
S. Sinha et al. Dataflow graph partitioning for area-efficient high-level synthesis with systems perspective. TODAES, 20(1):5, 2014.
[14]
S. Wang et al. Flexcl: An analytical performance model for opencl workloads on flexible fpgas. In Proc. of DAC, 2017.
[15]
Z. Wang et al. A performance analysis framework for optimizing opencl applications on fpgas. In Proc. of HPCA, pages 114--125, 2016.
[16]
Xilinx. https://www.xilinx.com/support.html.
[17]
Xilinx. Vivado design suite user guide high-level synthesis v2016.1, www.xilinx.com.
[18]
C. Zhang et al. Optimizing fpga-based accelerator design for deep convolutional neural networks. In Proc. of FPGA, pages 161--170, 2015.
[19]
G. Zhong et al. Design space exploration of multiple loops on fpgas using high level synthesis. In Proc. of ICCD, pages 456--463, 2014.
[20]
G. Zhong et al. Lin-analyzer: a high-level performance analysis tool for fpga-based accelerators. In Proc. of DAC, page 136, 2016.

Cited By

View all
  • (2023)Special Session: Machine Learning for Embedded System DesignProceedings of the 2023 International Conference on Hardware/Software Codesign and System Synthesis10.1145/3607888.3608962(28-37)Online publication date: 17-Sep-2023
  • (2022)Learning from the Past: Efficient High-level Synthesis Design Space Exploration for FPGAsACM Transactions on Design Automation of Electronic Systems10.1145/349553127:4(1-23)Online publication date: 12-Feb-2022
  • (2022)AutoDSE: Enabling Software Programmers to Design Efficient FPGA AcceleratorsACM Transactions on Design Automation of Electronic Systems10.1145/349453427:4(1-27)Online publication date: 12-Feb-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICCAD '17: Proceedings of the 36th International Conference on Computer-Aided Design
November 2017
1077 pages

Sponsors

In-Cooperation

  • IEEE-EDS: Electronic Devices Society

Publisher

IEEE Press

Publication History

Published: 13 November 2017

Check for updates

Qualifiers

  • Research-article

Conference

ICCAD '17
Sponsor:

Acceptance Rates

Overall Acceptance Rate 457 of 1,762 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Special Session: Machine Learning for Embedded System DesignProceedings of the 2023 International Conference on Hardware/Software Codesign and System Synthesis10.1145/3607888.3608962(28-37)Online publication date: 17-Sep-2023
  • (2022)Learning from the Past: Efficient High-level Synthesis Design Space Exploration for FPGAsACM Transactions on Design Automation of Electronic Systems10.1145/349553127:4(1-23)Online publication date: 12-Feb-2022
  • (2022)AutoDSE: Enabling Software Programmers to Design Efficient FPGA AcceleratorsACM Transactions on Design Automation of Electronic Systems10.1145/349453427:4(1-27)Online publication date: 12-Feb-2022
  • (2021)Programming and Synthesis for Software-defined FPGA Acceleration: Status and Future ProspectsACM Transactions on Reconfigurable Technology and Systems10.1145/346966014:4(1-39)Online publication date: 13-Sep-2021
  • (2020)Transfer Learning for Design-Space Exploration with High-Level SynthesisProceedings of the 2020 ACM/IEEE Workshop on Machine Learning for CAD10.1145/3380446.3430636(163-168)Online publication date: 16-Nov-2020
  • (2018)Use of CPU Performance Counters for Accelerator Selection in HLS-Generated CPU-Accelerator SystemsProceedings of the 9th International Symposium on Highly-Efficient Accelerators and Reconfigurable Technologies10.1145/3241793.3241805(1-6)Online publication date: 20-Jun-2018
  • (2018)Automated accelerator generation and optimization with composable, parallel and pipeline architectureProceedings of the 55th Annual Design Automation Conference10.1145/3195970.3195999(1-6)Online publication date: 24-Jun-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media