MetaCL: Automated "Meta" OpenCL Code Generation for High-Level Synthesis on FPGA

被引:0
作者
Sathre, Paul [1 ]
Gondhalekar, Atharva [2 ]
Hassan, Mohamed [2 ]
Feng, Wu-chun [1 ,2 ]
机构
[1] Virginia Tech, Dept CS, Blacksburg, VA 24061 USA
[2] Virginia Tech, Dept ECE, Blacksburg, VA USA
来源
2020 IEEE HIGH PERFORMANCE EXTREME COMPUTING CONFERENCE (HPEC) | 2020年
关键词
Code Generation; OpenCL; CPU; FPGA; GPU; HPC; Programmability; Productivity; Portability; Clang; LLVM; MetaCL;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Traditionally, FPGA programming has been done via a hardware description language (HDL). An HDL provides fine-grained control over reconfigurable hardware but with limited productivity due to a steep learning curve and tedious design cycle. Thus, high-level synthesis (HLS) approaches have been a significant boon to productivity, and in recent years, OpenCL has emerged as a vendor-agnostic HLS language that offers the added benefit of interoperation with other OpenCL platforms (e.g., CPU, GPU, DSP) and existing OpenCL software. However, OpenCL's productivity can also suffer from tedious boilerplate code and the need to manually coordinate the host (i.e., CPU) and device (i.e., FPGA or other device). So, we present MetaCL, a compiler-assisted interface that takes OpenCL kernel functions as input and automatically generates OpenCL host-side code as output. MetaCL produces more efficient and readable host-side code, ensures portability, and introduces minimal additional runtime overhead compared to unassisted OpenCL development.
引用
收藏
页数:8
相关论文
共 50 条
[31]   Optimizing Remote Accesses for Offloaded Kernels: Application to High-Level Synthesis for FPGA [J].
Alias, Christophe ;
Darte, Alain ;
Plesco, Alexandru .
ACM SIGPLAN NOTICES, 2012, 47 (08) :285-286
[32]   Implementation of multi-operand addition in FPGA using high-level synthesis [J].
Smyk, Robert ;
Czyzak, Maciej .
PRZEGLAD ELEKTROTECHNICZNY, 2018, 94 (02) :170-173
[33]   High-Level Synthesis for the Design of FPGA-based Signal Processing Systems [J].
Casseau, Emmanuel ;
Le Gal, Bertrand .
2009 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING AND SIMULATION, PROCEEDINGS, 2009, :25-+
[34]   CLAHE implementation on a low-end FPGA board by high-level synthesis [J].
Honda, Koki ;
Wei, Kaijie ;
Arai, Masatoshi ;
Amano, Hideharu .
2020 EIGHTH INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING WORKSHOPS, CANDARW, 2020, :282-285
[35]   Separation Logic-Assisted Code Transformations for Efficient High-Level Synthesis [J].
Winterstein, Felix ;
Bayliss, Samuel ;
Constantinides, George A. .
2014 IEEE 22ND ANNUAL INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE CUSTOM COMPUTING MACHINES (FCCM 2014), 2014, :1-8
[36]   Enhancing High-Level Synthesis Using a Meta-Programming Approach [J].
Vandebon, Jessica ;
Coutinho, Jose G. F. ;
Luk, Wayne ;
Nurvitadhi, Eriko .
IEEE TRANSACTIONS ON COMPUTERS, 2021, 70 (12) :2043-2055
[37]   FPGA-based Implementation of the Stereo Matching Algorithm using High-Level Synthesis [J].
Firmansyah, Iman ;
Yamaguchi, Yoshiki .
2021 IEEE 14TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANY-CORE SYSTEMS-ON-CHIP (MCSOC 2021), 2021, :1-7
[38]   CLAHE Implementation and Evaluation on a Low-End FPGA Board by High-Level Synthesis [J].
Honda, Koki ;
Wei, Kaijie ;
Arai, Masatoshi ;
Amano, Hideharu .
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2021, E104D (12) :2048-2056
[39]   FPGA-Based Acceleration of Expectation Maximization Algorithm using High-Level Synthesis [J].
Momen, Mohammad Abdul ;
Khalid, Mohammed A. S. ;
Oninda, Mohammad Abdul Moin .
2019 CONFERENCE ON DESIGN AND ARCHITECTURES FOR SIGNAL AND IMAGE PROCESSING (DASIP), 2019, :41-46
[40]   FPGA Implementations of HEVC Sub-Pixel Interpolation Using High-Level Synthesis [J].
Ghani, Firas Abdul ;
Kalali, Ercan ;
Hamzaoglu, Ilker .
2016 11TH IEEE INTERNATIONAL CONFERENCE ON DESIGN & TECHNOLOGY OF INTEGRATED SYSTEMS IN NANOSCALE ERA (DTIS), 2016,