skip to main content
10.1145/2463209.2488796acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

Runtime dependency analysis for loop pipelining in high-level synthesis

Published:29 May 2013Publication History

ABSTRACT

Research on High-Level Synthesis has mainly focused on applications with statically determinable characteristics and current tools often perform poorly in presence of data-dependent memory accesses. The reason is that they rely on conservative static scheduling strategies, which lead to inefficient implementations. In this work, we propose to address this issue by leveraging well-known techniques used in superscalar processors to perform runtime memory disambiguation. Our approach, implemented as a source-to-source transformation at the C level, demonstrates significant performance improvements for a moderate increase in area while retaining portability among HLS tools.

References

  1. {BZ06} L. Baugh and C. Zilles. Decomposing the Load-store queue by Function for Power Reduction and Scalability. IBM Journal on Reearch and Development, 50(2/3):287--297, March 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. {CBF95} Jean-François Collard, Denis Barthou, and Paul Feautrier. Fuzzy Array Dataflow Analysis. SIGPLAN Notices, 30(8):92--101, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. {Fea91} Paul. Feautrier. Dataflow Analysis of Array and Scalar References. International Journal of Parallel Programming, 1991.Google ScholarGoogle Scholar
  4. {GCM+94} David M. Gallagher, William Y. Chen, Scott A. Mahlke, John C. Gyllenhaal, and Wenmei W. Hwu. Dynamic Memory Disambiguation using the Memory Conflict Buffer. ACM SIGOPS Operating Systems Review, 28(5):183--193, December 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. {GFL00} Martin Griebl, Paul Feautrier, and Christian Lengauer. Index Set Splitting. International Journal of Parallel Programming, 28(6):607--631, December 2000. Google ScholarGoogle ScholarCross RefCross Ref
  6. {GSK+01} Sumit Gupta, Nick Savoiu, Sunwoo Kim, Nikil Dutt, Rajesh Gupta, and Alex Nicolau. Speculation Techniques for High Level Synthesis of Control Intensive Designs. In Proceedings of the 38th conference on Design automation, pages 269--272. ACM Press, June 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. {HH94} AS Huang and S Httang. Speculative Disambiguation: A Compilation Technique for Dynamic Memory Disambiguation. SIGARCH Computer Architecture News, pages 200--210, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. {KA02} Ken Kennedy and John R. Allen. Optimizing Compilers for Modern Architectures: a Dependence-based Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. {KW02} Apostolos A. Kountouris and Christophe Wolinski. Efficient Scheduling of Conditional Behaviors for High-level Synthesis. ACM Transactions on Design Automation of Electronic Systems, 7(3):380--412, July 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. {MDQ11} Antoine Morvan, Steven Derrien, and Patrice Quinton. Efficient Nested Loop Pipelining in High Level Synthesis using Polyhedral Bubble Insertion. In International Conference on Field-Programmable Technology, pages 1--10. IEEE, December 2011.Google ScholarGoogle ScholarCross RefCross Ref
  11. {MNJH00} Uma Mahadevan, Kevin Nomura, Roy Dz-ching Ju, and Rick Hank. Applying Data Speculation in Modulo Scheduled Loops. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, PACT '00, pages 169--. IEEE Computer Society, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. {Nic89} Alexandru Nicolau. Run-Time Disambiguation: Coping with Statically Unpredictable Dependencies. IEEE Transactions On Computers, 38(5):663--678, May 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. {OR12} Cosmin E. Oancea and Lawrence Rauchwerger. Logical Inference Techniques for Loop Parallelization. In Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation, volume 47, page 509. ACM Press, June 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. {Pug91} William Pugh. The Omega Test: a Fast and Practical Integer Programming Algorithm for Dependence Analysis. In Proceedings of the 1991 ACM/IEEE conference on Supercomputing - Supercomputing '91, pages 4--13. ACM Press, August 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. {RB94} Ivan Radivojevic and Forrest Brewer. Incorporating Speculative Execution in Exact Control-dependent Scheduling. In Proceedings of the Design Automation Conference, DAC '94, pages 479--484, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. {RRH03} Silvius Rus, Lawrence Rauchwerger, and Jay Hoeflinger. Hybrid Analysis: Static & Dynamic Memory Reference Analysis. International Journal of Parallel Programming, 31(4):251--283, August 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. {SCAV02} Esther Salamí, Jesús Corbal, Carlos Álvarez, and Mateo Valero. Cost Effective Memory Disambiguation for Multimedia Codes. In Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, CASES '02, pages 117--126, New York, NY, USA, 2002. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. {SDB+03} Simha Sethumadhavan, Rajagopalan Desikan, Doug Burger, Charles R. Moore, and Stephen W. Keckler. Scalable Hardware Memory Disambiguation for High ILP Processors. In Proceedings of IEEE/ACM International Symposium on Microarchitecture, pages 399--. IEEE, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. {Smi84} James E. Smith. Decoupled access/execute Computer Architectures. ACM Transaction on Computer Systems, 2(4):289--308, November 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. {THK11} Benjamin Thielmann, Jens Huthmann, and Andreas Koch. Precore-A Token-Based Speculation Architecture for High-Level Language to Hardware Compilation. International conference on Field Programmable Logic, pages 123--129, September 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. {VCG05} Girish Venkataramani, Tiberiu Chelcea, and Seth Copen SC Goldstein. HLS Support for Unconstrained Memory Accesses. In IEEE International Workshop on Logic Synthesis (IWLS), Lake Arrowhead, CA, 2005.Google ScholarGoogle Scholar

Index Terms

  1. Runtime dependency analysis for loop pipelining in high-level synthesis

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            DAC '13: Proceedings of the 50th Annual Design Automation Conference
            May 2013
            1285 pages
            ISBN:9781450320719
            DOI:10.1145/2463209

            Copyright © 2013 ACM

            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]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 29 May 2013

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate1,770of5,499submissions,32%

            Upcoming Conference

            DAC '24
            61st ACM/IEEE Design Automation Conference
            June 23 - 27, 2024
            San Francisco , CA , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader