In this PR, a new memory primitive is introduced. With this primitive, users can reshape a tensor during scheduling. This primitive can be useful in combination with other compute primitives such as splitting.
This PR also fixes the following problem:
Incorrect index recovering for HLS code generation
Incorrect index inference for reuse buffer
With this PR, now the reuse buffer feature is more robust. However, we still need to add more features in order to make it more useful. For instance, how should we handle the case when tiling and reuse buffer are combined. For now we can generate code with correct functional behavior; however, it does not have the ideal performance. This might also relate to other HLS codegen problem, where the parallelization cannot be handled ideally.
In this PR, a new memory primitive is introduced. With this primitive, users can reshape a tensor during scheduling. This primitive can be useful in combination with other compute primitives such as splitting.
This PR also fixes the following problem:
With this PR, now the reuse buffer feature is more robust. However, we still need to add more features in order to make it more useful. For instance, how should we handle the case when tiling and reuse buffer are combined. For now we can generate code with correct functional behavior; however, it does not have the ideal performance. This might also relate to other HLS codegen problem, where the parallelization cannot be handled ideally.