Enhancing High-Level Synthesis Using a Meta-Programming Approach

被引:6
作者
Vandebon, Jessica [1 ]
Coutinho, Jose G. F. [1 ]
Luk, Wayne [1 ]
Nurvitadhi, Eriko [2 ]
机构
[1] Imperial Coll London, London SW7 2BX, England
[2] Intel Corp, San Jose, CA 95134 USA
基金
英国工程与自然科学研究理事会;
关键词
Optimization; Tools; Kernel; Software; Task analysis; !text type='Python']Python[!/text; Programming; Heterogeneous computing; meta-programming; FPGA; high-level synthesis;
D O I
10.1109/TC.2021.3096429
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In today's increasingly heterogeneous compute landscape, there is high demand for design tools that offer seemingly contradictory features: portable programming abstractions that hide underlying architectural detail, and the capability to optimise and exploit architectural features. Our meta-programming approach, Artisan, decouples application functionality from optimisation concerns to address the complexity of mapping high-level application descriptions onto heterogeneous platforms from which they are abstracted. With Artisan, application experts focus on algorithmic behaviour, while platform and domain experts focus on optimisation and mapping. Artisan offers complete design-flow orchestration in a unified programming environment based on Python 3 to enable accessible codification of reusable optimisation strategies that can be automatically applied to high-level application descriptions. We have developed and evaluated an Artisan prototype and a set of customised meta-programs used to automatically optimise six case study applications for CPU+FPGA targets. In our experiments, Artisan-optimised designs achieve the same order of magnitude speedup as manually optimised designs compared to corresponding unoptimised software.
引用
收藏
页码:2043 / 2055
页数:13
相关论文
共 21 条
[1]  
[Anonymous], ROSE COMPILER INFRAS
[2]  
[Anonymous], INTEL FPGA SDK OPENC
[3]  
[Anonymous], islpy 2020.2.2 Documentation
[4]  
[Anonymous], INTEGER SET LIB DOCU
[5]  
[Anonymous], Intel High-Level Synthesis Compiler
[6]  
[Anonymous], INTEL ONEAPI TOOLKIT
[7]  
Baghdadi R, 2019, INT SYM CODE GENER, P193, DOI [10.1109/CGO.2019.8661197, 10.5281/zenodo.2375075]
[8]  
Cardoso J.M. P., 2012, Proceedings of the 11th Annual International Conference on Aspect-oriented Software Development, AOSD '12, P179, DOI 10.1145/2162049.2162071
[9]   Transformations of High-Level Synthesis Codes for High-Performance Computing [J].
de Fine Licht, Johannes ;
Besta, Maciej ;
Meierhans, Simon ;
Hoefler, Torsten .
IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (05) :1014-1029
[10]   Amdahl's law in the multicore era [J].
Hill, Mark D. ;
Marty, Michael R. .
COMPUTER, 2008, 41 (07) :33-+