Skip to Main content Skip to Navigation
Journal articles

Polyhedral Bubble Insertion: A Method to Improve Nested Loop Pipelining for High-Level Synthesis

Abstract : High-level synthesis (HLS) allows hardware to be directly produced from behavioral description in C/C++, thus accelerating the design process. Loop pipelining is a key transformation of HLS, as it improves the throughput of the design at the price of a small hardware overhead. However, for small loops, its use often results in a poor hardware utilization due to the pipeline latency overhead. Overlapping the iterations of the whole loop nest instead of only overlapping the innermost loop is a way to overcome this difficulty, but currently available techniques are restricted to perfectly nested loops with constant bounds, involving uniform dependences only. Using the polyhedral model, we extend the applicability of the nested loop pipelining transformation by proposing a new legality check and a new loop correction technique, called polyhedral bubble insertion. This method was implemented in a source-to-source compiler targeting HLS, and results on benchmark kernels show that polyhedral bubble insertion is effective in practice on a much larger class of loop nests.
Document type :
Journal articles
Complete list of metadatas

https://hal.inria.fr/hal-00921424
Contributor : François Charot <>
Submitted on : Friday, December 20, 2013 - 1:35:54 PM
Last modification on : Friday, March 6, 2020 - 1:19:57 AM

Identifiers

Citation

Antoine Morvan, Steven Derrien, Patrice Quinton. Polyhedral Bubble Insertion: A Method to Improve Nested Loop Pipelining for High-Level Synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, IEEE, 2013, 32 (3), pp.339-352. ⟨10.1109/TCAD.2012.2228270⟩. ⟨hal-00921424⟩

Share

Metrics

Record views

1108