-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
problem with distribution in memory tile #1999
Comments
I just ran this test from your repo using a fresh install of milr-aie and the result shows "PASS!". I ran |
|
Yes, so those two are supposed to be equal, but they aren't. The pass message can be ignores since it it's not checking anything and i forgot to remove it. |
I am somewhat confused by the complexity of the design, do you have a minimal test case for your issue? From what I can tell, two of the objectFIFOs in the distribute pattern have no consumers, so they might be exerting back pressure. Due to the current implementation of the distribute the locks may then be out of sync allowing the design to complete but sending most of the data to the "out" object fifo rather than the others. |
I added:
Now the output is:
|
@AndraBisca this is related to the race conditions we have seen on distributes/joins for link with a single pair of semaphore locks. |
Hi team,
I'm trying to implement an application that uses the distribution design pattern with the Memory Tile. The input stream passes correctly to the memory tile to the output. However, when trying to distribute the stream evenly over three object fifos, (like in the example https://github.com/Xilinx/mlir-aie/blob/main/programming_guide/section-2/section-2e/04_distribute_L2/distribute_L2.py) the distribution happens incorrectly to what is expected. The application can be found at: https://github.com/antonio-fc/my_mlir-aie/tree/testing/apps/app6.
The application runs with 'make run_py' which already prints the input to be distributed and the resulting stream from one of the object fifos called 'of_out'. The expected output, is printed below it for reference. Let me know if this is a mistake on my part or if something else is happening. Thanks in advance.
The text was updated successfully, but these errors were encountered: