Writing from Compute Tile to Memory Tile at Different Offsets #2272
-
Does anyone know if there's a way to write from compute tile to memory tile at different offsets? For example, if I have a core that generates a 64x64 matrix, save the data to memory tile that has a 64x256 buffer, run the core 3 more times, and save the subsequent outputs to fill up the 64x256 buffer in memory tile, is it possible? I know it's possible if I have 4 compute tiles that each send 64x64 data to memory tile, but I'm not sure if it's possible with just 1 compute tile. It seems like it might be possible at the buffer descriptor level since the offset can be set, but is there an example for it, or can anyone confirm? And is it possible at the objectFifo level? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Hello @kurtis-b! This is indeed an interesting pattern. At the objectfifo level you could do this with a link: have one objectfifo One thing to observe here is that if no dimensions are given to the objectfifos, the |
Beta Was this translation helpful? Give feedback.
Hello @kurtis-b! This is indeed an interesting pattern. At the objectfifo level you could do this with a link: have one objectfifo
of0
going from the compute tile to the memory tile with object size64x64
, and a second objectfifoof1
forwarded from the memory tile to the shim tile (or to some other tile) with object size64x256
. The DMAs will fill the64x256
objects on the memory tile sequentially with the64x64
tensors. Here is an example where you can see that the object size ofof_out0
is three times that ofof_out1
.One thing to observe here is that if no dimensions are given to the objectfifos, the
64x256
objects will be filled sequentially. If this is different than the layout you e…