HeteroRefactor: refactoring for heterogeneous computing with FPGA
Jason Lau, Aishwarya Sivaraman, Qian Zhang, Muhammad Ali Gulzar, Jason Cong, Miryung Kim
Abstract
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 Het-eroRefactor 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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0e16fdfa-c663-45ba-a433-238940b7d74bCited by top-tier papers3
- Analysis and Optimization of the Implicit Broadcasts in FPGA HLS to Improve Maximum FrequencyLicheng Guo, Jason Lau, Yuze Chi, Jie Wang et al.DAC 2020 · 21 citations
- HeteroFuzz: fuzz testing to detect platform dependent divergence for heterogeneous applicationsQian Zhang, Jiyuan Wang, Miryung KimFSE 2021 · 16 citations
- ChatHLS: Towards Systematic Design Automation and Optimization for High-Level SynthesisRunkai Li, Jia Xiong, Xiuyuan He, Jieru Zhao et al.ACL 2026 · 3 citations
Builds on1
Related papers
- Graph.hls: A Compiler Framework for Composable Graph Accelerator DesignFeiyang Wu, Xuxiao Yang, Zhuohang Bian, Jing Wang et al.ISCA 2026 · 1 citation
- Reticle: a virtual machine for programming modern FPGAsLuis Vega, Joseph McMahan, Adrian Sampson, Dan Grossman et al.PLDI 2021 · 8 citations
- HeteroGen: transpiling C to heterogeneous HLS code with automated test generation and program repairQian Zhang, Jiyuan Wang, Guoqing Harry Xu, Miryung KimASPLOS 2022 · 14 citations
- Hierarchical Mixture of Experts: Generalizable Learning for High-Level SynthesisWeikai Li, Ding Wang, Zijian Ding, Atefeh Sohrabizadeh et al.AAAI 2025 · 12 citations
- HeteroSVD: Efficient SVD Accelerator on Versal ACAP with Algorithm-Hardware Co-DesignXinya Luan, Zhe Lin, Kai Shi, Jianwang Zhai et al.DAC 2025 · 1 citation
