Tensor Optimization for High-Level Synthesis Design Flows

被引:5
|
作者
Siracusa, Marco [1 ]
Ferrandi, Fabrizio [1 ]
机构
[1] Politecn Milan, Elettron Informaz & Bioingn, I-20133 Milan, Italy
关键词
Design optimization; field programmable gate arrays; high-level synthesis; memory management; MODEL;
D O I
10.1109/TCAD.2020.3012318
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Improving data locality of tensor data structures is a crucial optimization for maximizing the performance of machine learning and intensive linear algebra applications. While CPUs and GPUs improve data locality by means of automated caching mechanisms, FPGAs let the developer specify data structure allocation. Although this feature enables a high degree of customizability, the increasing complexity and memory footprint of modern applications prevent considering any manual approach to find an optimal allocation. For this reason, we propose a compiler optimization to automatically improve the tensor allocation of high-level software descriptions. The optimization is controlled by a flexible cost model that can be tuned by means of simple yet expressive callback functions. In this way, the user can tailor the optimization strategy with respect to the optimization goal. We tested our methodology integrating our optimization in the Bambu open-source HLS framework. In this setting, we achieved a 14% speedup on the digit recognition version proposed by the Rosetta benchmark. Moreover, we tested our optimization on the CHStone benchmark suite, achieving an average of 6% speedup. Finally, we applied our methodology on two industrial examples from the aerospace domain obtaining a 15% speedup. As a final step, we tested the versatility of our methodology inserting our optimization in the Clang software optimization flow achieving a 12% speedup on the Rosetta benchmark when running on CPU.
引用
收藏
页码:4217 / 4228
页数:12
相关论文
共 50 条
  • [1] High-level optimization of pipeline design
    Campbell, JPL
    Day, NA
    [J]. EIGHTH IEEE INTERNATIONAL HIGH-LEVEL DESIGN VALIDATION AND TEST WORKSHOP, PROCEEDINGS, 2003, : 43 - 48
  • [2] ESL flows are enabled by High-level Synthesis with Universality
    Nikhil, Rishiyur S.
    [J]. 2010 IEEE INTERNATIONAL HIGH LEVEL DESIGN VALIDATION AND TEST WORKSHOP (HLDVT), 2010, : 137 - 137
  • [3] SYNTHESIS AND OPTIMIZATION OF HIGH-LEVEL STREAM PROGRAMS
    Bezati, Endri
    Brunet, Simone Casale
    Mattavelli, Marco
    Janneck, Jorn W.
    [J]. PROCEEDINGS OF THE 2013 ELECTRONIC SYSTEM LEVEL SYNTHESIS CONFERENCE (ESLSYN), 2013,
  • [4] ON THE OPTIMIZATION OF VLSI ALLOCATION IN HIGH-LEVEL SYNTHESIS
    He Zhongli Zhou Dian Hu Qingsheng Zhuang Zhenquan(Department of Electronic Engineering
    [J]. Journal of Electronics(China), 2000, (03) : 279 - 288
  • [5] Design and Optimization of Reliable Hardware Accelerators: Leveraging the Advantages of High-Level Synthesis
    Taher, Farah Naz
    Kishani, Mostafa
    Schafer, Benjamin Carrion
    [J]. 2018 IEEE 24TH INTERNATIONAL SYMPOSIUM ON ON-LINE TESTING AND ROBUST SYSTEM DESIGN (IOLTS 2018), 2018, : 232 - 235
  • [6] Parallel Cross-Layer Optimization of High-Level Synthesis and Physical Design
    Williamson, James
    Lu, Yinghai
    Shang, Li
    Zhou, Hai
    Zeng, Xuan
    [J]. 2011 16TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE (ASP-DAC), 2011,
  • [7] DESIGN OF CLOCKING SCHEMES IN HIGH-LEVEL SYNTHESIS
    PENG, Z
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1991, 31 (1-5): : 71 - 76
  • [8] Design of clocking schemes in high-level synthesis
    [J]. Peng, Zebo, 1600, (31): : 1 - 5
  • [9] An approach to integrate MEMS into high-level system design flows
    Leman, O.
    Dumas, N.
    Mailly, F.
    Latorre, L.
    Nouet, P.
    [J]. 2008 Joint IEEE North-East Workshop on Circuits and Systems and TAISA Conference, 2008, : 273 - 276
  • [10] DESIGN CONTROL IN A HIGH-LEVEL SYNTHESIS SYSTEM
    MOZOS, D
    SEPTIEN, J
    TIRADO, F
    HERMIDA, R
    [J]. MICROPROCESSING AND MICROPROGRAMMING, 1992, 34 (1-5): : 93 - 96