Closed chhzh123 closed 4 years ago
Moreover, HeteroCL has not automatically inserted optimization primitives (e.g. #pragma HLS pipeline
) to the reuse_at
part at this time.
Just as a reminder. It's no need to add partition primitives for reuse buffers. https://github.com/cornell-zhang/heterocl/blob/master/tutorials/tutorial_06_memory.py#L238-L239
Once the outer loop is pipelined, LB and WB will be automatically partitioned, as shown in the output of Vivado HLS.
INFO: [XFORM 203-102] Partitioning array 'LB.V' (vhls_code.cpp:10) in dimension 1 automatically.
INFO: [XFORM 203-102] Partitioning array 'WB.V' (vhls_code.cpp:12) in dimension 1 automatically.
INFO: [XFORM 203-102] Partitioning array 'WB.V.0' (vhls_code.cpp:12) automatically.
INFO: [XFORM 203-102] Partitioning array 'WB.V.1' (vhls_code.cpp:12) automatically.
INFO: [XFORM 203-102] Partitioning array 'WB.V.2' (vhls_code.cpp:12) automatically.
INFO: [XFORM 203-101] Partitioning array 'F.V' (vhls_code.cpp:7) in dimension 1 completely.
INFO: [XFORM 203-101] Partitioning array 'F.V' (vhls_code.cpp:7) in dimension 2 completely.
The code in Tutorial 06: Memory Customization generates results with poor performance, since the line buffer is incorrectly flattened.
The HLS report is listed below, where II is not equal to 1.