TY - GEN
T1 - Improving polyhedral code generation for high-level synthesis
AU - Zuo, Wei
AU - Li, Peng
AU - Chen, Deming
AU - Pouchet, Louis Nöel
AU - Zhong, Shunan
AU - Cong, Jason
PY - 2013
Y1 - 2013
N2 - 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.
AB - 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.
KW - High-Level Synthesis
KW - Loop tiling
KW - Polyhedral Compilation
UR - http://www.scopus.com/inward/record.url?scp=84892638100&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84892638100&partnerID=8YFLogxK
U2 - 10.1109/CODES-ISSS.2013.6659002
DO - 10.1109/CODES-ISSS.2013.6659002
M3 - Conference contribution
AN - SCOPUS:84892638100
SN - 9781479914173
T3 - 2013 International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS 2013
BT - 2013 International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS 2013
PB - IEEE Computer Society
T2 - 11th ACM/IEEE International Conference on Hardware/Software Codesign and System Synthesis, CODES+ISSS 2013
Y2 - 29 September 2013 through 4 October 2013
ER -