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 条
[41]   FPGA-Based Computational Fluid Dynamics Simulation Architecture via High-Level Synthesis Design Method [J].
Du, Changdao ;
Firmansyah, Iman ;
Yamaguchi, Yoshiki .
APPLIED RECONFIGURABLE COMPUTING. ARCHITECTURES, TOOLS, AND APPLICATIONS, ARC 2020, 2020, 12083 :232-246
[42]   High-level low power FPGA design methodology [J].
Wolff, FG ;
Knieser, MJ ;
Weyer, DJ ;
Papachristou, CA .
PROCEEDINGS OF THE IEEE 2000 NATIONAL AEROSPACE AND ELECTRONICS CONFERENCE: ENGINEERING TOMORROW, 2000, :554-559
[43]   A High-Level Environment for FPGA Neural Network Implementation [J].
Benbouchama, C. ;
Tadjine, M. ;
Bouridane, A. .
INTERNATIONAL REVIEW OF ELECTRICAL ENGINEERING-IREE, 2009, 4 (06) :1243-1247
[44]   CODE-GENERATION METHODOLOGY USING TREE-PARSERS AND HIGH-LEVEL INTERMEDIATE REPRESENTATIONS [J].
AHALT, SC ;
LEATHRUM, JF .
JOURNAL OF PROGRAMMING LANGUAGES, 1993, 1 (02) :103-126
[45]   Efficient Memory Arbitration in High-Level Synthesis From Multi-Threaded Code [J].
Cheng, Jianyi ;
Fleming, Shane T. ;
Chen, Yu Ting ;
Anderson, Jason ;
Wickerson, John ;
Constantinides, George A. .
IEEE TRANSACTIONS ON COMPUTERS, 2022, 71 (04) :933-946
[46]   Resource-efficient FPGA implementation of perspective transformation for bird's eye view generation using high-level synthesis framework [J].
Bilal, Muhammad .
IET CIRCUITS DEVICES & SYSTEMS, 2019, 13 (06) :756-762
[47]   Reconciling High-Level Optimizations and Low-Level Code in LLVM [J].
Lee, Juneyoung ;
Hur, Chung-Kil ;
Jung, Ralf ;
Liu, Zhengyang ;
Regehr, John ;
Lopes, Nuno P. .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
[48]   Reconciling High-Level Optimizations and Low-Level Code in LLVM [J].
Lee, Juneyoung ;
Hur, Chung-Kil ;
Jung, Ralf ;
Liu, Zhengyang ;
Regehr, John ;
Lopes, Nuno P. .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2018, 2
[49]   Reconciling high-level optimizations and low-level code in LLVM [J].
Lee J. ;
Hur C.-K. ;
Jung R. ;
Liu Z. ;
Regehr J. ;
Lopes N.P. .
Proceedings of the ACM on Programming Languages, 2018, 2 (OOPSLA)
[50]   Design space exploration of multi-core RTL via high level synthesis from OpenCL models [J].
Roozmeh, Mehdi ;
Lavagno, Luciano .
MICROPROCESSORS AND MICROSYSTEMS, 2018, 63 :199-208