PyGA: a Python to FPGA compiler prototype - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2018

PyGA: a Python to FPGA compiler prototype

Abstract

Field Programmable Gate Arrays, FPGAs, are a widely available configurable hardware design that is commonly used in many domain-specific applications. However, the complexity of its programming interface is currently restricting its usage to highly qualified programmers dedicated to FPGAs. In order to democratize FPGAs, many efforts are concentrating on High-Level Synthesis, HLS: the process of compiling a high-level language to hardware. In that context we propose PyGA, a proof of concept of a Python to FPGA compiler based on the Numba Just-In-Time (JIT) compiler for Python and the Intel FPGA SDK for OpenCL. It allows any Python user to use a FPGA card as an accelerator for Python seamlessly. As expected, early performance results are encouraging, but not competitive with compiled CPU version. The study shows that, to avoid overhead that cannot be compensated otherwise, tightly coupled accelerator design such as Intel Xeon+FPGA are necessary to address larger code base with finer grain kernel. It also shows that without FPGA-specific programming effort, HLS compilation and runtime efforts remain to be done to be competitive with modern multi-core CPUs.
No file

Dates and versions

hal-01959155 , version 1 (18-12-2018)

Identifiers

Cite

Yohann Uguen, Eric Petit. PyGA: a Python to FPGA compiler prototype. AI-SEPS 2018 - 5th ACM SIGPLAN International Workshop on Artificial Intelligence and Empirical Methods for Software Engineering and Parallel Computing Systems, Nov 2018, Boston, United States. pp.11-15, ⟨10.1145/3281070.3281072⟩. ⟨hal-01959155⟩
981 View
0 Download

Altmetric

Share

Gmail Facebook X LinkedIn More