Improving polyhedral code generation for high-level synthesis

  • Authors:
  • Wei Zuo;Peng Li;Deming Chen;Louis-Noël Pouchet;Shunan Zhong;Jason Cong

  • Affiliations:
  • Beijing Institute of Technology and University of Illinois at Urbana-Champaign;Peking University and PKU/UCLA Joint Research Institution for Science and Engineering;University of Illinois at Urbana-Champaign;University of California, Los Angeles and PKU/UCLA Joint Research Institution for Science and Engineering;Beijing Institute of Technology;University of California, Los Angeles and PKU/UCLA Joint Research Institution for Science and Engineering

  • Venue:
  • Proceedings of the Ninth IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

High-level synthesis (HLS) tools are now capable of generating high-quality RTL codes for a number of programs. Nevertheless, for best performance aggressive program transformations are still required to exploit data reuse and enable communication/computation overlap. The polyhedral compilation framework has shown great promise in this area with the development of HLS-specific polyhedral transformation techniques and tools. However, all these techniques rely on polyhedral code generation to translate a schedule for the program's operations into an actual C code that is input to the HLS tool. In this work we study the changes to the state-of-the-art polyhedral code generator CLooG which are required to tailor it for HLS purposes. In particular, we develop various techniques to significantly improve resource utilization on the FPGA. We also develop a complete technique geared towards effective code generation of rectangularly tiled code, leading to further improvements in resource utilization. We demonstrate our techniques on a collection of affine benchmarks, reducing by 2x on average (up to 10x) the area used after high-level synthesis.