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

Thread Weaving: Static Resource Scheduling for Multithreaded High-Level Synthesis

Published:02 June 2019Publication History

ABSTRACT

In high-level synthesis (HLS), software multithreading constructs can be used to explicitly specify coarse-grained parallelism for multiple accelerators. While software threads typically operate independently and in isolation of each other on CPUs, HLS threads/accelerators are sub-components of one circuit. Since these components generally reside in the same clock domain, we can schedule their execution statically to avoid shared-resource contention among threads. We propose thread weaving, a technique that statically interleaves requests from different threads through scheduling constraints. With the guarantee of a contention-free schedule, we eliminate replication/arbitration of shared resources, reducing the area footprint of the circuit and improving its maximum operating frequency (Fmax).

References

  1. A. Canis, S. D. Brown, and J. H. Anderson. 2014. Modulo SDC scheduling with recurrence minimization in high-level synthesis. In FPL.Google ScholarGoogle Scholar
  2. A. Canis et al. 2011. LegUp: High-level Synthesis for FPGA-based Processor/Accelerator Systems. In ACM/SIGDA International Symposium on FPGA. ACM, New York, NY, USA, 33--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Choi, S. Brown, and J. Anderson. 2015. Resource and memory management techniques for the high-level synthesis of software threads into parallel FPGA hardware. In IEEE FPT. 152--159.Google ScholarGoogle Scholar
  4. J. Choi, S. D. Brown, and J. H. Anderson. 2013. From software threads to parallel hardware in high-level synthesis for FPGAs. In IEEE FPT. 270--277.Google ScholarGoogle Scholar
  5. S. Hadjis et al. 2012. Impact of FPGA Architecture on Resource Sharing in High-level Synthesis. In ACM FPGA. 111--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Lattner and V. Adve. 2004. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In ACM/IEEE CGO. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Lattuada and F. Ferrandi. 2015. Exploiting Outer Loops Vectorization in High Level Synthesis. In Proceedings of the Architecture of Computing Systems (Lecture Notes in Computer Science), Vol. 9017. Springer International Publishing, 31--42.Google ScholarGoogle Scholar
  8. M. Lattuada and F. Ferrandi. 2017. Exploiting Vectorization in High Level Synthesis of Nested Irregular Loops. Journal of Systems Architecture 75 (2017), 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. C. Pilato and F. Ferrandi. 2013. Bambu: A modular framework for the high level synthesis of memory-intensive applications. In FPL. 1--4.Google ScholarGoogle Scholar
  10. N. Ramanathan et al. 2017. Hardware Synthesis of Weakly Consistent C Concurrency. In ACMFPGA. 169--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Xilinx. 2017. Vivado Design Suite User Guide High-Level Synthesis. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_2/ug902-vivado-high-level-synthesis.pdfGoogle ScholarGoogle Scholar
  1. Thread Weaving: Static Resource Scheduling for Multithreaded 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 '19: Proceedings of the 56th Annual Design Automation Conference 2019
        June 2019
        1378 pages
        ISBN:9781450367257
        DOI:10.1145/3316781

        Copyright © 2019 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: 2 June 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        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