HeteroRefactor: Refactoring for Heterogeneous Computing with FPGATechnical
Heterogeneous computing with field-programmable gate-arrays (FPGAs) has demonstrated orders of magnitude improvement in computing efficiency for many applications. However, the use of such platforms so far is limited to a small subset of programmers with specialized hardware knowledge. High-level synthesis (HLS) tools made significant progress in raising the level of programming abstraction from hardware programming languages to C/C++, but they usually cannot compile and generate accelerators for kernel programs with pointers, memory management, and recursion, and require manual refactoring to make them HLS-compatible. Besides, experts also need to provide heavily handcrafted optimizations to improve resource efficiency, which affects the maximum operating frequency, parallelization, and power efficiency.
We propose a new dynamic invariant analysis and automated refactoring technique, called HeteroRefactor. First, HeteroRefactor monitors FPGA-specific dynamic invariants—the required bitwidth of integer and floating-point variables, and the size of recursive data structures and stacks. Second, using this knowledge of dynamic invariants, it refactors the kernel to make traditionally HLS-incompatible programs synthesizable and to optimize the accelerator’s resource usage and frequency further. Third, to guarantee correctness, it selectively offloads the computation from CPU to FPGA, only if an input falls within the dynamic invariant. On average, for a recursive program of size 175 LOC, an expert FPGA programmer would need to write 185 more LOC to implement an HLS compatible version, while HeteroRefactor automates such transformation. Our results on Xilinx FPGA show that HeteroRefactor minimizes BRAM by 83% and increases frequency by 42% for recursive programs; reduces BRAM by 41% through integer bitwidth reduction; and reduces DSP by 50% through floating-point precision tuning.
Fri 10 JulDisplayed time zone: (UTC) Coordinated Universal Time change
07:00 - 08:00 | I21-Version Control and ProgrammingTechnical Papers / Journal First / Software Engineering in Practice at Silla Chair(s): Sunghun Kim Hong Kong University of Science and Technology | ||
07:00 12mTalk | Towards Understanding and Fixing Upstream Merge Induced Conflicts in Divergent Forks: An industrial Case StudySEIP Software Engineering in Practice Chungha Sung University of Southern California, Shuvendu K. Lahiri Microsoft Research, Mike Kaufman Microsoft Corporation, Pallavi Choudhury Microsoft Corporation, Chao Wang USC | ||
07:12 8mTalk | Version Control Systems: An Information Foraging PerspectiveJ1 Journal First Sruti Srinivasa Ragavan Microsoft Research; School of EECS, Oregon State University, Mihai Codoban Microsoft, David Piorkowski IBM Research AI, Danny Dig University of Colorado, Boulder, Margaret Burnett Oregon State University | ||
07:20 8mTalk | How different are different diff algorithms in Git?J1 Journal First Yusuf Sulistyo Nugroho Nara Institute of Science and Technology, Hideaki Hata Nara Institute of Science and Technology, Kenichi Matsumoto Nara Institute of Science and Technology DOI Media Attached | ||
07:28 8mTalk | Characterizing the Usage, Evolution and Impact of Java Annotations in PracticeJ1 Journal First Zhongxing Yu KTH Royal Institute of Technology, Chenggang Bai Beihang University, Lionel Seinturier , Martin Monperrus KTH Royal Institute of Technology | ||
07:36 8mTalk | Why Reinventing the Wheels? An Empirical Study on Library Reuse and Re-implementationJ1 Journal First Bowen Xu Singapore Management University, Le An Polytechnique Montreal, Ferdian Thung Singapore Management University, Foutse Khomh Polytechnique Montréal, David Lo Singapore Management University | ||
07:44 12mTalk | HeteroRefactor: Refactoring for Heterogeneous Computing with FPGATechnical Technical Papers Aishwarya Sivaraman University of California, Los Angeles, Jason Lau University of California, Los Angeles, Qian Zhang University of California, Los Angeles, Muhammad Ali Gulzar University of California, Los Angeles, Jason Cong UCLA, Miryung Kim University of California, Los Angeles DOI |