High-Level Synthesis of Functional Patterns with Lift
High-level languages are commonly seen as a good fit to tackle the problem of performance portability across parallel architectures. The Lift framework is a recent approach which has successfully demonstrated its ability to address the challenge of performance portability across multiple types of CPU and GPU devices. The functional and pattern-based nature of Lift simplifies the optimization of programs using rewrite-rules. In this work we extend Lift to target FPGA-based platforms. We designed parallel patterns operating on data stream, and we implemented a Lift to VHDL backend. This contribution has been evaluated on a Xilinx XC7Z010 FPGA, using matrix multiplication for which we observe up to 10x speed-up over highly optimized CPU code and a commercial HLS tool. Furthermore, by considering the potential of design space exploration enabled by Lift, this work is a stepping stone towards automatically generated competitive code for FPGAs.
Sat 22 JunDisplayed time zone: Tijuana, Baja California change
16:00 - 17:30 | |||
16:00 30mTalk | ALPyNA: Acceleration of Loops in Python for Novel Architectures ARRAY | ||
16:30 30mTalk | Code Generation in Linnea (extended abstract) ARRAY | ||
17:00 30mTalk | High-Level Synthesis of Functional Patterns with Lift ARRAY A: Martin Kristien University of Edinburgh, UK, A: Bruno Bodin Yale-NUS College, A: Michel Steuwer University of Glasgow, A: Christophe Dubach University of Edinburgh |