A Common Backend for Hardware Acceleration on FPGA

© 2017 IEEE. Field Programmable Gate Arrays (FPGAs) are configurable integrated circuits able to provide a good trade-off in terms of performance, power consumption, and flexibility with respect to other architectures, like CPUs, GPUs and ASICs. The main drawback in using FPGAs, however, is their st...

Full description

Bibliographic Details
Main Authors: Del Sozzo, Emanuele, Baghdadi, Riyadh, Amarasinghe, Saman, Santambrogio, Marco D.
Format: Article
Language:English
Published: IEEE 2021
Online Access:https://hdl.handle.net/1721.1/137268
_version_ 1826215915723685888
author Del Sozzo, Emanuele
Baghdadi, Riyadh
Amarasinghe, Saman
Santambrogio, Marco D.
author_facet Del Sozzo, Emanuele
Baghdadi, Riyadh
Amarasinghe, Saman
Santambrogio, Marco D.
author_sort Del Sozzo, Emanuele
collection MIT
description © 2017 IEEE. Field Programmable Gate Arrays (FPGAs) are configurable integrated circuits able to provide a good trade-off in terms of performance, power consumption, and flexibility with respect to other architectures, like CPUs, GPUs and ASICs. The main drawback in using FPGAs, however, is their steep learning curve. An emerging solution to this problem is to write algorithms in a Domain Specific Language (DSL) and to let the DSL compiler generate efficient code targeting FPGAs. This work proposes FROST, a unified backend that enables different DSL compilers to target FPGA architectures. Differently from other code generation frameworks targeting FPGA, FROST exploits a scheduling co-language that enables users to have full control over which optimizations to apply in order to generate efficient code (e.g. loop pipelining, array partitioning, vectorization). At first, FROST analyzes and manipulates the input Abstract Syntax Tree (AST) in order to apply FPGA-oriented transformations and optimizations, then generates a C/C++ implementation suitable for High-Level Synthesis (HLS) tools. Finally, the output of HLS phase is synthesized and implemented on the target FPGA using Xilinx SDAccel toolchain. The experimental results show a speedup up of 15 with respect to O3-optimized implementations of the same algorithms on CPU.
first_indexed 2024-09-23T16:39:03Z
format Article
id mit-1721.1/137268
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T16:39:03Z
publishDate 2021
publisher IEEE
record_format dspace
spelling mit-1721.1/1372682021-11-04T03:02:01Z A Common Backend for Hardware Acceleration on FPGA Del Sozzo, Emanuele Baghdadi, Riyadh Amarasinghe, Saman Santambrogio, Marco D. © 2017 IEEE. Field Programmable Gate Arrays (FPGAs) are configurable integrated circuits able to provide a good trade-off in terms of performance, power consumption, and flexibility with respect to other architectures, like CPUs, GPUs and ASICs. The main drawback in using FPGAs, however, is their steep learning curve. An emerging solution to this problem is to write algorithms in a Domain Specific Language (DSL) and to let the DSL compiler generate efficient code targeting FPGAs. This work proposes FROST, a unified backend that enables different DSL compilers to target FPGA architectures. Differently from other code generation frameworks targeting FPGA, FROST exploits a scheduling co-language that enables users to have full control over which optimizations to apply in order to generate efficient code (e.g. loop pipelining, array partitioning, vectorization). At first, FROST analyzes and manipulates the input Abstract Syntax Tree (AST) in order to apply FPGA-oriented transformations and optimizations, then generates a C/C++ implementation suitable for High-Level Synthesis (HLS) tools. Finally, the output of HLS phase is synthesized and implemented on the target FPGA using Xilinx SDAccel toolchain. The experimental results show a speedup up of 15 with respect to O3-optimized implementations of the same algorithms on CPU. 2021-11-03T17:52:40Z 2021-11-03T17:52:40Z 2017-11 2019-05-02T17:07:53Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137268 Del Sozzo, Emanuele, Baghdadi, Riyadh, Amarasinghe, Saman and Santambrogio, Marco D. 2017. "A Common Backend for Hardware Acceleration on FPGA." en 10.1109/iccd.2017.75 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf IEEE MIT web domain
spellingShingle Del Sozzo, Emanuele
Baghdadi, Riyadh
Amarasinghe, Saman
Santambrogio, Marco D.
A Common Backend for Hardware Acceleration on FPGA
title A Common Backend for Hardware Acceleration on FPGA
title_full A Common Backend for Hardware Acceleration on FPGA
title_fullStr A Common Backend for Hardware Acceleration on FPGA
title_full_unstemmed A Common Backend for Hardware Acceleration on FPGA
title_short A Common Backend for Hardware Acceleration on FPGA
title_sort common backend for hardware acceleration on fpga
url https://hdl.handle.net/1721.1/137268
work_keys_str_mv AT delsozzoemanuele acommonbackendforhardwareaccelerationonfpga
AT baghdadiriyadh acommonbackendforhardwareaccelerationonfpga
AT amarasinghesaman acommonbackendforhardwareaccelerationonfpga
AT santambrogiomarcod acommonbackendforhardwareaccelerationonfpga
AT delsozzoemanuele commonbackendforhardwareaccelerationonfpga
AT baghdadiriyadh commonbackendforhardwareaccelerationonfpga
AT amarasinghesaman commonbackendforhardwareaccelerationonfpga
AT santambrogiomarcod commonbackendforhardwareaccelerationonfpga