Exact and Practical Modulo Scheduling for High-Level Synthesis

被引:7
|
作者
Oppermann, Julian [1 ]
Reuter-Oppermann, Melanie [2 ]
Sommer, Lukas [1 ]
Koch, Andreas [1 ]
Sinnen, Oliver [3 ]
机构
[1] Tech Univ Darmstadt, Hochschulstr 10, D-64289 Darmstadt, Germany
[2] Karlsruhe Inst Technol, Kaiserstr 89, D-76131 Karlsruhe, Germany
[3] Univ Auckland, Privale Bag 92019, Auckland 1142, New Zealand
关键词
Modulo scheduling; exact; optimal; II minimisation; high-level synthesis;
D O I
10.1145/3317670
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Loop pipelining is an essential technique in high-level synthesis to increase the throughput and resource utilisation of field-programmable gate array-based accelerators. It relies on modulo schedulers to compute an operator schedule that allows subsequent loop iterations to overlap partially when executed while still honouring all precedence and resource constraints. Modulo schedulers face a bi-criteria problem: minimise the initiation interval (II; i.e., the number of timesteps after which new iterations are started) and minimise the schedule length. We present Moovac, a novel exact formulation that models all aspects (including the II minimisation) of the modulo scheduling problem as a single integer linear program, and discuss simple measures to prevent excessive runtimes, to challenge the old preconception that exact modulo scheduling is impractical. We substantiate this claim by conducting an experimental study covering 188 loops from two established high-level synthesis benchmark suites, four different time limits, and three bounds for the schedule length, to compare our approach against a highly tuned exact formulation and a state-of-the-art heuristic algorithm. In the fastest configuration, an accumulated runtime of under 16 minutes is spent on scheduling all loops, and proven optimal IIs are found for 179 test instances.
引用
收藏
页数:26
相关论文
共 50 条
  • [1] Dependence Graph Preprocessing for Faster Exact Modulo Scheduling in High-level Synthesis
    Oppermann, Julian
    Reuter-Oppermann, Melanie
    Sommer, Lukas
    Sinnen, Oliver
    Koch, Andreas
    2018 28TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2018, : 280 - 286
  • [2] Scaling Up Modulo Scheduling for High-Level Synthesis
    Rosa, Leandro de Souza
    Bouganis, Christos-Savvas
    Bonato, Vanderlei
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2019, 38 (05) : 912 - 925
  • [3] ILP-based Modulo Scheduling for High-level Synthesis
    Oppermann, Julian
    Koch, Andreas
    Reuter-Oppermann, Melanie
    Sinnen, Oliver
    2016 INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURE AND SYNTHESIS FOR EMBEDDED SYSTEMS (CASES), 2016,
  • [4] Memory Partitioning-Based Modulo Scheduling for High-level Synthesis
    Lu, Tianyi
    Yin, Shouyi
    Yao, Xianqing
    Xie, Zhicong
    Liu, Leibo
    2017 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS (ISCAS), 2017, : 2671 - 2674
  • [5] Non-iterative SDC modulo scheduling for high-level synthesis
    Rosa, Leandro de Souza
    Bouganis, Christos-Savvas
    Bonato, Vanderlei
    MICROPROCESSORS AND MICROSYSTEMS, 2021, 86
  • [6] Joint Modulo Scheduling and Memory Partitioning with Multi-Bank Memory for High-Level Synthesis
    Lu, Tianyi
    Yin, Shouyi
    Yao, Xianqing
    Xie, Zhicong
    Liu, Leibo
    Wei, Shaojun
    FPGA'17: PROCEEDINGS OF THE 2017 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS, 2017, : 290 - 290
  • [7] Probabilistic Scheduling in High-Level Synthesis
    Cheng, Jianyi
    Wickerson, John
    Constantinides, George A.
    2021 IEEE 29TH ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM 2021), 2021, : 195 - 203
  • [8] Net scheduling in high-level synthesis
    Prihozhy, A
    IEEE DESIGN & TEST OF COMPUTERS, 1996, 13 (01): : 26 - 35
  • [9] Verification of scheduling in high-level synthesis
    Karfa, C.
    Mandal, C.
    Sarkar, D.
    Pentakota, S. R.
    Reade, Chris
    IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI, PROCEEDINGS: EMERGING VLSI TECHNOLOGIES AND ARCHITECTURES, 2006, : 141 - +
  • [10] Equivalence Checking of Scheduling in High-Level Synthesis
    Li, Tun
    Hu, Jian
    Guo, Yang
    Li, Sikun
    Tan, Qingping
    PROCEEDINGS OF THE SIXTEENTH INTERNATIONAL SYMPOSIUM ON QUALITY ELECTRONIC DESIGN (ISQED 2015), 2015, : 257 - 262