Transformations of High-Level Synthesis Codes for High-Performance Computing

被引:42
|
作者
de Fine Licht, Johannes [1 ]
Besta, Maciej [1 ]
Meierhans, Simon [1 ]
Hoefler, Torsten [1 ]
机构
[1] Univ Zurich, Dept Comp Sci, ETH Zurich, CH-8092 Zurich, Switzerland
基金
欧洲研究理事会;
关键词
Pipeline processing; Hardware; Computer architecture; Optimization; Software; Performance evaluation; Registers; Parallel architectures; parallel programming; high performance computing; STENCIL COMPUTATION; COMPILER; OPTIMIZATIONS; ARCHITECTURES; PLATFORM;
D O I
10.1109/TPDS.2020.3039409
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Spatial computing architectures promise a major stride in performance and energy efficiency over the traditional load/store devices currently employed in large scale computing systems. The adoption of high-level synthesis (HLS) from languages such as C++ and OpenCL has greatly increased programmer productivity when designing for such platforms. While this has enabled a wider audience to target spatial computing architectures, the optimization principles known from traditional software design are no longer sufficient to implement high-performance codes, due to fundamentally distinct aspects of hardware design, such as programming for deep pipelines, distributed memory resources, and scalable routing. To alleviate this, we present a collection of optimizing transformations for HLS, targeting scalable and efficient architectures for high-performance computing (HPC) applications. We systematically identify classes of transformations (pipelining, scalability, and memory), the characteristics of their effect on the HLS code and the resulting hardware (e.g., increasing data reuse or resource consumption), and the objectives that each transformation can target (e.g., resolve interface contention, or increase parallelism). We show how these can be used to efficiently exploit pipelining, on-chip distributed fast memory, and on-chip dataflow, allowing for massively parallel architectures. To quantify the effect of various transformations, we cover the optimization process of a sample set of HPC kernels, provided as open source reference codes. We aim to establish a common toolbox to guide both performance engineers and compiler engineers in tapping into the performance potential offered by spatial computing architectures using HLS.
引用
收藏
页码:1014 / 1029
页数:16
相关论文
共 50 条
  • [1] Extending High-Level Synthesis with High-Performance Computing Performance Visualization
    Huthmann, Jens
    Podobas, Artur
    Sommer, Lukas
    Koch, Andreas
    Sano, Kentaro
    [J]. 2020 IEEE INTERNATIONAL CONFERENCE ON CLUSTER COMPUTING (CLUSTER 2020), 2020, : 371 - 380
  • [2] Performance Analysis with High-Level Languages for High-Performance Reconfigurable Computing
    Curreri, John
    Koehler, Seth
    Holland, Brian
    George, Alan D.
    [J]. PROCEEDINGS OF THE SIXTEENTH IEEE SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES, 2008, : 23 - 30
  • [3] Evaluating High-Level Design Strategies on FPGAs for High-Performance Computing
    Podobas, Artur
    Zohouri, Hamid Reza
    Maruyama, Naoya
    Matsuoka, Satoshi
    [J]. 2017 27TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2017,
  • [4] Evaluating High-Level Design Strategies on FPGAs for High-Performance Computing
    Podobas, Artur
    Zohouri, Hamid Reza
    Maruyama, Naoya
    Matsuoka, Satoshi
    [J]. 2017 27TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS (FPL), 2017,
  • [5] Efficient FPGA Implementation of OpenCL High-Performance Computing Applications via High-Level Synthesis
    Bin Muslim, Fahad
    Ma, Liang
    Roozmeh, Mehdi
    Lavagno, Luciano
    [J]. IEEE ACCESS, 2017, 5 : 2747 - 2762
  • [6] Coordinated transformations for high-level synthesis of high performance microprocessor blocks
    Gupta, S
    Kam, T
    Kishinevsky, M
    Rotem, S
    Savoiu, N
    Dutt, N
    Gupta, R
    Nicolau, A
    [J]. 39TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2002, 2002, : 898 - 903
  • [7] Effective High-Level Synthesis for High-Performance Graph Processing
    Tang, Jiawu
    Zheng, Long
    Liao, Xiaofei
    Jin, Hai
    [J]. Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2021, 58 (03): : 467 - 478
  • [8] RESCHEDULING TRANSFORMATIONS FOR HIGH-LEVEL SYNTHESIS
    PAPACHRISTOU, CA
    [J]. 1989 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS AND SYSTEMS, VOLS 1-3, 1989, : 766 - 769
  • [9] COMPILER TRANSFORMATIONS FOR HIGH-PERFORMANCE COMPUTING
    BACON, DF
    GRAHAM, SL
    SHARP, OJ
    [J]. ACM COMPUTING SURVEYS, 1994, 26 (04) : 345 - 420
  • [10] Directive-Based, High-Level Programming and Optimizations for High-Performance Computing with FPGAs
    Lambert, Jacob
    Lee, Seyong
    Kim, Jungwon
    Vetter, Jeffrey S.
    Malony, Allen D.
    [J]. INTERNATIONAL CONFERENCE ON SUPERCOMPUTING (ICS 2018), 2018, : 160 - 171