arrow
Return

PyLog: An Algorithm-Centric Python-Based FPGA Programming and Synthesis Flow

delete2021-01-01
delete18
delete
OA
AI
S
Sitao Huang *
K
Kun Wu
H
Hyunmin Jeong
C
Chengyue Wang
D
Deming Chen
W
Wen‐mei Hwu
DOI:10.1109/TC.2021.3123465delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
The exploding complexity and computation efficiency requirements of applications are stimulating a strong demand for hardware acceleration with heterogeneous platforms such as FPGAs. However, a high-quality FPGA design is very hard to create and optimize as it requires FPGA expertise and a long design iteration time. In contrast, software applications are typically developed in a short development cycle, with high-level languages like Python, which have much higher levels of abstraction than all existing hardware design flows. To close this gap between hardware design flows and software applications, and simplify FPGA programming, we create PyLog, a high-level, algorithm-centric Python-based programming and synthesis flow for FPGA. PyLog is powered by a set of compiler optimization passes and a type inference system to generate high-quality hardware design. It abstracts away the implementation details, and allows designers to focus on algorithm specification. PyLog takes in Python functions, generates PyLog intermediate representation (PyLog IR), performs several optimization passes, including pragma insertion, design space exploration, and memory customization, etc., and creates complete FPGA system designs. PyLog also has a runtime that allows users to run the PyLog code directly on the target FPGA platform without any extra code development. The whole design flow is automated. Evaluation shows that PyLog significantly improves FPGA design productivity and generates highly efficient FPGA designs that outperform highly optimized CPU implementation and state-of-the-art FPGA implementation by 3.17x and 1.24x on average.
Keywords:
FPGA
high-level synthesis
Python
design optimization

Journal

IEEE Transactions on Computers cover
IEEE Transactions on Computers
IF:
3.8
Papers:
5.4K
Citations:
9.8K

Organization

U
University of Illinois Urbana-Champaign
Scholars:
2.4W
Papers: 2.0W
Citations: 35
University of Illinois System cover
University of Illinois System
Scholars:
6.9W
Papers: 6.2W
Citations: 644
Cited Papers

Cited Papers

errShare
errSave
err
IF0
err
err0
PREAI
err
errShare
errSave
Direct Measurement of the Spin-Orbit Interaction in a Two-Electron InAs Nanowire Quantum Dot
err2007-06-26
err0
errOAAI
errC. Fasth; A. Fuhrer; L. Samuelson; Vitaly N. Golovach; Daniel Loss
errShare
errSave
A randomised trial of a contraceptive vaginal ring in women at risk of HIV infection in Rwanda: Safety of intermittent and continuous use
err2018-06-01
err0
errOAAI
errEvelyne Kestelyn; Stephen Agaba; Jennifer Ilo Van Nuil; Mireille Uwineza; Marie Michelle Umulisa; Lambert Mwambarangwe; Jean Claude Ndagijimana; Irith De Baetselier; Jozefien Buyze; Thérèse Delvaux; Tania Crucitti; Vicky Jespers; Janneke H. H. M. van de Wijgert
errShare
errSave
errShare
errSave
Mixing and demixing of binary mixtures of polar chiral active particles
err2018-01-01
err0
errOAAI
errBao-quan Ai; Zhi-gang Shao; Wei-rong Zhong
errShare
errSave
no more