arrow
返回

BLOOP: Boolean Satisfiability-based Optimized Loop Pipelining

delete2023-07-27
delete2
PRE
AI
N
Nicolai Fiege *
P
Peter Zipf
DOI:10.1145/3599972delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Modulo scheduling is the premier technique for throughput maximization of loops in high-level synthesis by interleaving consecutive loop iterations. The number of clock cycles between data insertions is called the initiation interval (II). For throughput maximization, this value should be as low as possible; therefore, its minimization is the main optimization goal. Despite its long historical existence, modulo scheduling always remained a relevant research topic over the years with many exact and heuristic algorithms available in the literature. Nevertheless, we are able to leverage the scalability of modern Boolean Satisfiability (SAT) solvers to outperform state-of-the-art ILP-based algorithms for latency-optimal modulo scheduling for both integer and rational IIs. Our algorithm is able to compute valid modulo schedules for the whole CHStone and MachSuite benchmark suites, with 99% of the solutions being proven to be throughput optimal for a timeout of only 10 minutes per candidate II. For various time limits, not a single tested scheduler from the state of the art is able to compute more verified optimal solutions or even a single schedule with a higher throughput than our proposed approach. Using an HLS toolflow, we show that our algorithm can be effectively used to generate Pareto-optimal FPGA implementations regarding throughput and resource usage.
Keyword:
Modulo scheduling
loop pipelining
Boolean satisfiability

期刊

ACM Transactions on Reconfigurable Technology and Systems 封面图
ACM Transactions on Reconfigurable Technology and Systems
IF:
2.8
论文数:
597
被引数:
810

机构

U
Universitat Kassel
学者数:
4.0K
论文数: 3.5K
被引数: 39