PyGA: a Python to FPGA compiler prototype - Centre of Innovation in Telecommunications and Integration of services Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

PyGA: a Python to FPGA compiler prototype

Résumé

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.
Fichier non déposé

Dates et versions

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

Identifiants

Citer

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⟩
993 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More