POLSCA: Polyhedral High-Level Synthesis with Compiler Transformations

被引:3
|
作者
Zhao, Ruizhe [1 ]
Cheng, Jianyi [2 ]
Luk, Wayne [1 ]
Constantinides, George A. [2 ]
机构
[1] Imperial Coll London, Dept Comp, London, England
[2] Imperial Coll London, Dept Elect & Elect Engn, London, England
基金
英国工程与自然科学研究理事会;
关键词
polyhedral model; high-level synthesis; compiler;
D O I
10.1109/FPL57034.2022.00044
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Polyhedral optimization can parallelize nested affine loops for high-level synthesis (HLS), but polyhedral tools are HLS-agnostic and can worsen performance. Moreover, HLS tools require user directives which can produce unreadable polyhedral-transformed code. To address these two challenges, we present POLSCA, a compiler framework that improves polyhedral HLS workflow by automatic code transformation. POLSCA decomposes a design before polyhedral optimization to balance code complexity and parallelism, while revising memory interfaces of polyhedral-transformed code to make partitioning explicit for HLS tools; it enables designs to benefit more easily from polyhedral optimization. Experiments on Polybench/C show that POLSCA designs are 1.5 times faster on average compared with baseline designs generated directly from applying HLS on C code.
引用
收藏
页码:235 / 242
页数:8
相关论文
共 50 条
  • [31] Optimizing Memory Hierarchy Allocation with Loop Transformations for High-Level Synthesis
    Cong, Jason
    Zhang, Peng
    Zou, Yi
    2012 49TH ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2012, : 1229 - 1234
  • [32] HIGH-LEVEL DSP SYNTHESIS USING CONCURRENT TRANSFORMATIONS, SCHEDULING, AND ALLOCATION
    WANG, CY
    PARHI, KK
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1995, 14 (03) : 274 - 295
  • [33] Equivalence Checking of Scheduling with Speculative Code Transformations in High-Level Synthesis
    Lee, Chi-Hui
    Shih, Che-Hua
    Huang, Juinn-Dar
    Jou, Jing-Yang
    2011 16TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2011,
  • [34] Polyhedral Bubble Insertion: A Method to Improve Nested Loop Pipelining for High-Level Synthesis
    Morvan, Antoine
    Derrien, Steven
    Quinton, Patrice
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2013, 32 (03) : 339 - 352
  • [35] Valid transformations: A new class of loop transformations for high-level synthesis and pipelined scheduling applications
    Rim, M
    Jain, R
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 1996, 7 (04) : 399 - 410
  • [36] HIGH-LEVEL SYNTHESIS
    PAWLAK, A
    MICROPROCESSING AND MICROPROGRAMMING, 1992, 35 (1-5): : 261 - 261
  • [37] Developing a High-Level Language Compiler for a Computer with Programmable Architecture
    Steinberg, Boris Ya.
    Bugliy, Anton P.
    Dubrov, Denis V.
    Mikhailuts, Yury V.
    Steinberg, Roman B.
    CEE-SECR 2016: PROCEEDINGS OF THE 12TH CENTRAL & EASTERN EUROPEAN SOFTWARE ENGINEERING CONFERENCE IN RUSSIA, 2016,
  • [38] EAC: A compiler framework for high-level energy estimation and optimization
    Kadayif, I
    Kandemir, M
    Vijaykrishnan, N
    Irwin, MJ
    Sivasubramaniam, A
    DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2002 PROCEEDINGS, 2002, : 436 - 442
  • [39] HIGH-LEVEL DEBUGGING ASSISTANCE VIA OPTIMIZING COMPILER TECHNOLOGY
    OTTENSTEIN, KJ
    SIGPLAN NOTICES, 1983, 18 (08): : 115 - 116
  • [40] Compiler-directed design space exploration for caching and prefetching data in high-level synthesis
    Baradaran, N
    Diniz, PC
    FPT 05: 2005 IEEE INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE TECHNOLOGY, PROCEEDINGS, 2005, : 233 - 240