You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am working on using aie.use_lock to control the write and read sequence for sharing a buffer between two ComputeTiles. However, I’ve encountered an issue that I’m unsure how to resolve.
Could you please assist me with this? I would greatly appreciate your help.
I have configured the ComputeTiles (1, 4) and (0, 4) as follows: the Add one function is implemented on tile (1, 4), while the passthrough function is placed on tile (0, 4). The attached figure illustrates the dataflow diagram for this setup.
I mimic the aie.mlir under the folder /mlir-aie/mlir_tutorials/tutorial-3 to use the aie.use_lock.
After obtaining this result, I modified the passthrough function on tile (0, 4) to an add_i function, where i is the index parameter of the for loop, the range of i is 1 to 4 step 1. This change was made to test the running time of tile (0, 4).
The result I got:
I have confirmed that the running time for tile (0, 4) is 4, which matches our expectations.
Then, I modified theadd one function on tile (1, 4) to an add_i function to test the running time of tile (1, 4).
The result I got:
In this case, the running time for tile (1, 4) appears to occur only once. However, since tile (0, 4) operates successfully, the aie.use_lock acquire and release operations on tile (1, 4) should also function correctly. This suggests that the lock acquire/release on tile (1, 4) are actually ran for four times, but the function (kernel) is only being called once.
Would you be able to help me look into this matter? I would greatly appreciate it.
Hi team,
I am working on using
aie.use_lock
to control the write and read sequence for sharing a buffer between two ComputeTiles. However, I’ve encountered an issue that I’m unsure how to resolve.Could you please assist me with this? I would greatly appreciate your help.
I have configured the ComputeTiles (1, 4) and (0, 4) as follows: the
Add one function
is implemented on tile (1, 4), while thepassthrough function
is placed on tile (0, 4). The attached figure illustrates the dataflow diagram for this setup.I mimic the
aie.mlir
under the folder/mlir-aie/mlir_tutorials/tutorial-3
to use theaie.use_lock
.The input data is:
The output I am expecting to see is as follows:
The output I got:
After obtaining this result, I modified the
passthrough function
on tile (0, 4) to anadd_i function
, wherei
is the index parameter of the for loop, the range ofi
is 1 to 4 step 1. This change was made to test the running time of tile (0, 4).The result I got:
I have confirmed that the running time for tile (0, 4) is 4, which matches our expectations.
Then, I modified the
add one function
on tile (1, 4) to anadd_i function
to test the running time of tile (1, 4).The result I got:
In this case, the running time for tile (1, 4) appears to occur only once. However, since tile (0, 4) operates successfully, the
aie.use_lock
acquire and release operations on tile (1, 4) should also function correctly. This suggests that the lock acquire/release on tile (1, 4) are actually ran for four times, but the function (kernel) is only being called once.Would you be able to help me look into this matter? I would greatly appreciate it.
The following the main code:
Function code:
aie.mlir
Host:
The text was updated successfully, but these errors were encountered: