Vitis-Tutorials icon indicating copy to clipboard operation
Vitis-Tutorials copied to clipboard

How to implement sliding window with persistent line buffers using input_buffer in AI Engine?

Open kimm240 opened this issue 8 months ago • 1 comments

Hello,

I’m working on a stencil-based AI Engine kernel where I want to implement a sliding window using local memory. My goal is to reuse previously loaded rows and update only one row per iteration. Here's the scenario:

Suppose I have 5 rows of data: ROW 1 ROW 2 ROW 3 ROW 4 ROW 5

In the first iteration, I load ROW 1, ROW 2, ROW 3 into local memory (e.g., using input_buffer).

In the next iteration, I want to load only ROW 4, discard ROW 1, and align memory to now contain ROW 2, ROW 3, ROW 4.

The same logic continues: shift, reuse, update only the latest row.

However, when I use a plio with input_buffer, it seems the entire buffer gets overwritten with new data in each iteration. This prevents me from preserving previous rows in local memory across iterations.

kimm240 avatar Jun 11 '25 08:06 kimm240

Hi @kimm240

This question is not related to the tutorlals. You should use the forums for this type of question: https://adaptivesupport.amd.com/s/?language=en_US

xflorentw avatar Sep 03 '25 09:09 xflorentw