TY - GEN
T1 - A Unified Backend for Targeting FPGAs from DSLs
AU - Del Sozzo, Emanuele
AU - Baghdadi, Riyadh
AU - Amarasinghe, Saman
AU - Santambrogio, Marco D.
N1 - Funding Information:
This work was supported by the European Commission in the context of the H2020 FETHPC EXTRA project (#671653).
Publisher Copyright:
© 2018 IEEE.
PY - 2018/8/23
Y1 - 2018/8/23
N2 - The major flaw of Field Programmable Gate Arrays (FPGAs) is their hard programmability and steep learning curve. Even though High-Level Synthesis (HLS) tools may alleviate this task by providing directives to optimize the hardware design, as well as supporting languages like C/C++ and OpenCL, the development of efficient designs for FPGA is still a challenging and time-consuming task. In this context, Domain Specific Languages (DSLs) represent an emerging solution to generate efficient code to target FPGAs. However, the support for these languages towards FPGA is still limited, and only few DSLs provide FPGA backends. This paper describes FROST, a unified backend for targeting FPGAs from DSLs. FROST takes as input an algorithm described in one of the supported DSLs and generates an optimized design suitable for HLS tools. To this end, FROST exposes a high-level scheduling co-language to drive many aspects of the optimization process, like the resulting architecture, the level of parallelism, and so on. We evaluated FROST on a set of image processing kernels, developed in Halide and TIRAMISU, and compared the results against a hand-tuned FPGA library. The experimental results demonstrate that FROST designs are able to match the performance of such library (exploiting the same level of parallelism), and surpass it by a factor of 10X when combining FROST and the frontends scheduling commands.
AB - The major flaw of Field Programmable Gate Arrays (FPGAs) is their hard programmability and steep learning curve. Even though High-Level Synthesis (HLS) tools may alleviate this task by providing directives to optimize the hardware design, as well as supporting languages like C/C++ and OpenCL, the development of efficient designs for FPGA is still a challenging and time-consuming task. In this context, Domain Specific Languages (DSLs) represent an emerging solution to generate efficient code to target FPGAs. However, the support for these languages towards FPGA is still limited, and only few DSLs provide FPGA backends. This paper describes FROST, a unified backend for targeting FPGAs from DSLs. FROST takes as input an algorithm described in one of the supported DSLs and generates an optimized design suitable for HLS tools. To this end, FROST exposes a high-level scheduling co-language to drive many aspects of the optimization process, like the resulting architecture, the level of parallelism, and so on. We evaluated FROST on a set of image processing kernels, developed in Halide and TIRAMISU, and compared the results against a hand-tuned FPGA library. The experimental results demonstrate that FROST designs are able to match the performance of such library (exploiting the same level of parallelism), and surpass it by a factor of 10X when combining FROST and the frontends scheduling commands.
KW - Common Backend
KW - DSL
KW - FPGA
KW - Scheduling Co-Language
UR - http://www.scopus.com/inward/record.url?scp=85053467480&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85053467480&partnerID=8YFLogxK
U2 - 10.1109/ASAP.2018.8445108
DO - 10.1109/ASAP.2018.8445108
M3 - Conference contribution
AN - SCOPUS:85053467480
SN - 9781538674796
T3 - Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors
BT - 2018 IEEE 29th International Conference on Application-Specific Systems, Architectures and Processors, ASAP 2018
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 29th IEEE International Conference on Application-Specific Systems, Architectures and Processors, ASAP 2018
Y2 - 10 July 2018 through 12 July 2018
ER -