Automated Buffer Sizing of Dataflow Applications in a High-Level Synthesis Workflow
Univ. Grenoble Alpes, INRIA, CNRS, Grenoble INP, LIG, France
ACM Transactions on Reconfigurable Technology and Systems, 2023
DOI:10.1145/3626103
@article{honorat2023automated,
title={Automated Buffer Sizing of Dataflow Applications in a High-Level Synthesis Workflow},
author={Honorat, Alexandre and Dardaillon, Micka{"e}l and Miomandre, Hugo and Nezan, Jean-Fran{c{c}}ois},
journal={ACM Transactions on Reconfigurable Technology and Systems},
year={2023},
publisher={ACM New York, NY}
}
High-Level Synthesis (HLS) tools are mature enough to provide efficient code generation for computation kernels on FPGA hardware. For more complex applications, multiple kernels may be connected by a dataflow graph. Although some tools, such as Xilinx Vitis HLS, support dataflow directives, they lack efficient analysis methods to compute the buffer sizes between kernels in a dataflow graph. This paper proposes an original method to safely approximate such buffer sizes. The first contribution computes an initial overestimation of buffer sizes, wihout knowing the memory access patterns of kernels. The second contribution iteratively refines those buffer sizes thanks to cosimulation. Moreover, the paper introduces an open source framework using these methods to facilitate dataflow programming on FPGA using HLS. The proposed methods and framework have been tested on 7 dataflow applications, and outperform Vitis HLS cosimulation in 5 benchmarks, either in terms of BRAM and LUT usage, or in term of exploration time. In the 2 other benchmarks, our best method gets results similar to Vitis HLS. Last but not least, our method admits directed cycles in the application graphs.
October 8, 2023 by hgpu