SuSy: A Programming Model for Productive Construction of High-Performance Systolic Arrays on FPGAs

被引:32
|
作者
Lai, Yi-Hsiang [1 ]
Rong, Hongbo [2 ]
Zheng, Size [3 ]
Zhang, Weihao [4 ]
Cui, Xiuping [3 ]
Jia, Yunshan [3 ]
Wang, Jie [5 ]
Sullivan, Brendan [1 ]
Zhang, Zhiru [1 ]
Liang, Yun [3 ]
Zhang, Youhui [4 ]
Cong, Jason [5 ]
George, Nithin [2 ]
Alvarez, Jose [2 ]
Hughes, Christopher [2 ]
Dubey, Pradeep [2 ]
机构
[1] Cornell Univ, Sch Elect & Comp Engn, Ithaca, NY 14853 USA
[2] Intel, San Jose, CA USA
[3] Peking Univ, Beijing, Peoples R China
[4] Tsinghua Univ, Beijing, Peoples R China
[5] Univ Calif Los Angeles, Dept Comp Sci, Los Angeles, CA 90024 USA
基金
美国国家科学基金会;
关键词
DSL; FPGA; Systolic Array; Space-Time Transformation; URE; HIGH-LEVEL SYNTHESIS; LANGUAGE; COMPILER;
D O I
10.1145/3400302.3415644
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Systolic algorithms are one of the killer applications on spatial architectures such as FPGAs and CGRAs. However, it requires a tremendous amount of human effort to design and implement a high-performance systolic array for a given algorithm using the traditional RTL-based methodology. On the other hand, existing high-level synthesis (HLS) tools either (1) force the programmers to do "micro-coding" where too many optimizations must be carried out through tedious code restructuring and insertion of vendor-specific pragmas, or (2) give them too little control to influence a push-button compilation flow to achieve high quality of results. To tackle these challenges, we introduce SuSy, a programming framework composed of a domain-specific language (DSL) and a compilation flow that enables programmers to productively build high-performance systolic arrays on FPGAs. With SuSy, programmers express the design functionality in the form of uniform recurrence equations (UREs), which can describe algorithms from a wide spectrum of applications as long as the underlying computation has a uniform dependence structure. The URE description in SuSy is followed by a set of decoupled spatial mapping primitives that specify how to map the equations to a spatial architecture. More concretely, programmers can apply space-time transformations and several other memory and I/O optimizations to build a highly efficient systolic architecture productively. Experimental results show that SuSy can describe various algorithms with UREs and generate high-performance systolic arrays by spatial optimizations. For instance, the SGEMM benchmark written in SuSy can approach the performance of the manual design optimized by experts, while using 30x fewer lines of code.
引用
收藏
页数:9
相关论文
共 50 条
  • [41] HIGH-PERFORMANCE CONCRETE FOR GREEN CONSTRUCTION
    Zheng, Herbert W.
    Chan, Fiona W. Y.
    Kwan, Albert K. H.
    PROCEEDINGS OF THE 7TH INTERNATIONAL CONFERENCE ON TALL BUILDINGS, 2010, : 163 - 170
  • [42] CONSTRUCTION AND ANALYSIS OF HIGH-PERFORMANCE COMPOSITES
    KANUER, B
    COMPOSITE STRUCTURES, 1993, 24 (03) : 181 - 191
  • [43] Linear arrays of CNTs for high-performance electronics
    不详
    AMERICAN CERAMIC SOCIETY BULLETIN, 2007, 86 (05): : 23 - 23
  • [44] The high-performance model
    Tedesco, Matthew P.
    Marine Technology, 2013, 50 (02)
  • [45] High Performance and Parallel Model for LU Decomposition on FPGAs
    Shao, Yi
    Jiang, Liehui
    Zhao, Qiuxia
    Wang, Yuliang
    FCST 2009: PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON FRONTIER OF COMPUTER SCIENCE AND TECHNOLOGY, 2009, : 75 - 79
  • [46] High-performance programming frameworks for numerical simulation
    Zeyao Mo
    National Science Review, 2016, 3 (01) : 28 - 29
  • [47] Flux: A language for programming high-performance servers
    Burns, Brendan
    Grimaldi, Kevin
    Kostadinov, Alexander
    Berger, Emery D.
    Corner, Mark D.
    USENIX ASSOCIATION PROCEEDINGS OF THE 2006 USENIX ANNUAL TECHNICAL CONFERENCE, 2006, : 129 - +
  • [48] Multicore Programming Techniques for High-Performance ATE
    Ravindran, Murali
    Meisel, Jeff
    IEEE INSTRUMENTATION & MEASUREMENT MAGAZINE, 2009, 12 (04) : 26 - 29
  • [49] Programming Tools for High-Performance Data Analysis
    Talia, Domenico
    Trunfio, Paolo
    PROCEEDINGS OF THE 33RD INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE PARALLEL AND DISTRIBUTED COMPUTING, HPDC 2024, 2024,
  • [50] High-performance programming frameworks for numerical simulation
    Mo, Zeyao
    NATIONAL SCIENCE REVIEW, 2016, 3 (01) : 28 - 29