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

Theory and algorithm for generalized memory partitioning in high-level synthesis

Published: 26 February 2014 Publication History

Abstract

The significant development of high-level synthesis tools has greatly facilitated FPGAs as general computing platforms. During the parallelism optimization for the data path, memory becomes a crucial bottleneck that impedes performance enhancement. Simultaneous data access is highly restricted by the data mapping strategy and memory port constraint. Memory partitioning can efficiently map data elements in the same logical array onto multiple physical banks so that the accesses to the array are parallelized. Previous methods for memory partitioning mainly focused on cyclic partitioning for single-port memory. In this work we propose a generalized memory-partitioning framework to provide high data throughput of on-chip memories. We generalize cyclic partitioning into block-cyclic partitioning for a larger design space exploration. We build the conflict detection algorithm on polytope emptiness testing, and use integer points counting in polytopes for intra-bank offset generation. Memory partitioning for multi-port memory is supported in this framework. Experimental results demonstrate that compared to the state-of-art partitioning algorithm, our proposed algorithm can reduce the number of block RAM by 19.58%, slice by 20.26% and DSP by 50%.

References

[1]
7 Series FPGAs Memory Resources. http://www.xilinx.com/support/documentation.
[2]
C-to-Silicon Compiler. http://www.cadence.com/products/.
[3]
Catapult C. http://calypto.com/.
[4]
Cynthesizer. www.forteds.com.
[5]
JM Software. http://iphome.hhi.de/suehring/tml/.
[6]
Polylib. http://www.irisa.fr/polylib/.
[7]
ROSE compiler infrastructure. http://rosecompiler.org/.
[8]
Synphony C Compiler. http://www.synopsys.com.
[9]
Vivado High-Level Synthesis. http://www.xilinx.com/.
[10]
S. Chatterjee, J. R. Gilbert, F. J. E. Long, R. Schreiber, and S. Teng. Generating local addresses and communication sets for data-parallel programs. Journal of Parallel and Distributed Computing, 26(1):72--84, 1995.
[11]
P. Clauss and V. Loechner. Parametric parametric analysis of polyhedral iteration spaces. Journal of VLSI Signal Processing, 19(2):179--194, 1998.
[12]
J. Cong, W. Jiang, B. Liu, and Y. Zou. Automatic memory partitioning and scheduling for throughput and power optimization. ACM Transaction on Design Automation of Electronic Systems (TODAES), 16, 2011.
[13]
J. Cong, B. Liu, S. Neuendorffer, J. Noguera, K. Vissers, and Z. Zhang. High-level synthesis for fpgas: From prototyping to deployment. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 30(4):473--491, 2011.
[14]
J. Cong, V. Sarkar, G. Reinman, and A. Bui. Customizable domain-specific computing. IEEE Design and Test of Computers, 28(2):5--15, 2011.
[15]
P. Feautrier. Some efficient solutions for the affine scheduling problem, part i, one dimensional time. International Journal of Parallel Processing, 21(6), 1992.
[16]
P. Li, L. N. Pouchet, D. Chen, and J. Cong. Loop transformations for throughput optimization in high-level synthesis. In Proceedings of the ACM/SIGDA international Symposium on Field programmable gate arrays (to appear), 2014.
[17]
P. Li, Y. Wang, P. Zhang, G. Luo, T. Wang, and J. Cong. Memory partitioning and scheduling co-optimization in behavioral synthesis. IEEE/ACM International Conference on Computer-Aided Design (ICCAD), pages 488--495, 2012.
[18]
Q. Liu, T. Todman, and W. Luk. Combining optimizations in automated low power design. In Proc. of Design, Automation and Test Europe (DATE), pages 1791--1796, 2010.
[19]
A. Schrijver. Theory of Linear and Integer Programming. JohnWiley and Sons, 1986.
[20]
S. Verdoolaege, R. Seghir, K. Beyls, V. Loechner, and M. Bruynooghe. Counting integer points in parametric polytopes using barvinok's rational functions. Algorithmica, 2007.
[21]
Y. Wang, P. Li, P. Zhang, C. Zhang, and J. Cong. Memory partitioning for multidimensional arrays in high-level synthesis. Proceedings of the 50th Annual Design Automation Conference (DAC), (12), 2013.
[22]
Y. Wang, P. Zhang, X. Cheng, and J. Cong. An integrated and automated memory optimization flow for fpga behavioral synthesis. Asia and South Pacific Design Automation Conference (ASP-DAC), pages 257--262, 2012.
[23]
Z. Zhang, Y. Fan, W. Jiang, G. Han, C. Yang, and J. Cong. High-Level Synthesis: From Algorithm to Digital Circuit, chapter AutoPilot: a platform-based ESL synthesis system. Springer, New York, NY, USA, 2008.

Cited By

View all
  • (2024)PMP: Pattern Morphing-based Memory Partitioning in High-Level SynthesisProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3658239(1-6)Online publication date: 23-Jun-2024
  • (2024)Array Partitioning Method for Streaming Dataflow Optimization in High-level Synthesis2024 2nd International Symposium of Electronics Design Automation (ISEDA)10.1109/ISEDA62518.2024.10618042(278-282)Online publication date: 10-May-2024
  • (2023)A Reschedulable Dataflow-SIMD Execution for Increased Utilization in CGRA Cross-Domain AccelerationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.318554442:3(874-886)Online publication date: Mar-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
FPGA '14: Proceedings of the 2014 ACM/SIGDA international symposium on Field-programmable gate arrays
February 2014
272 pages
ISBN:9781450326711
DOI:10.1145/2554688
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 February 2014

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. high-level synthesis
  2. memory partitioning
  3. polyhedral model

Qualifiers

  • Research-article

Conference

FPGA'14
Sponsor:

Acceptance Rates

FPGA '14 Paper Acceptance Rate 30 of 110 submissions, 27%;
Overall Acceptance Rate 125 of 627 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)44
  • Downloads (Last 6 weeks)13
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)PMP: Pattern Morphing-based Memory Partitioning in High-Level SynthesisProceedings of the 61st ACM/IEEE Design Automation Conference10.1145/3649329.3658239(1-6)Online publication date: 23-Jun-2024
  • (2024)Array Partitioning Method for Streaming Dataflow Optimization in High-level Synthesis2024 2nd International Symposium of Electronics Design Automation (ISEDA)10.1109/ISEDA62518.2024.10618042(278-282)Online publication date: 10-May-2024
  • (2023)A Reschedulable Dataflow-SIMD Execution for Increased Utilization in CGRA Cross-Domain AccelerationIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.318554442:3(874-886)Online publication date: Mar-2023
  • (2023)DARIC: A Data Reuse-Friendly CGRA for Parallel Data Access via Elastic FIFOs2023 60th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC56929.2023.10247862(1-6)Online publication date: 9-Jul-2023
  • (2022)FPGA HLS Today: Successes, Challenges, and OpportunitiesACM Transactions on Reconfigurable Technology and Systems10.1145/353077515:4(1-42)Online publication date: 8-Aug-2022
  • (2022)Efficient Memory Arbitration in High-Level Synthesis From Multi-Threaded CodeIEEE Transactions on Computers10.1109/TC.2021.306646671:4(933-946)Online publication date: 1-Apr-2022
  • (2022)POLSCA: Polyhedral High-Level Synthesis with Compiler Transformations2022 32nd International Conference on Field-Programmable Logic and Applications (FPL)10.1109/FPL57034.2022.00044(235-242)Online publication date: Aug-2022
  • (2021)Reducing Memory Access Conflicts with Loop Transformation and Data Reuse on Coarse-grained Reconfigurable Architecture2021 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE51398.2021.9473971(124-129)Online publication date: 1-Feb-2021
  • (2021)EVEREST: A design environment for extreme-scale big data analytics on heterogeneous platforms2021 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE51398.2021.9473940(1320-1325)Online publication date: 1-Feb-2021
  • (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
  • Show More Cited By

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