-
Notifications
You must be signed in to change notification settings - Fork 4
Unnecessary buffer allocated when padding in tile's row dimension #142
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
Comments
%26 seems to get used, as it's cast to %27, which is used to create %94, which is used by the microkernel. You're right that the alloca is weird, have you looked into where it's created and which transformation removes its use? I wonder whether it's before or after bufferization. |
Yes, the |
Ah I see, that definitely seems like an error happening earlier in the pipeline. Did you try reproducing this behaviour, maybe with a smaller program than NSNet? |
|
|
Nice! Thanks for opening the PR, it's nice to see the debugging process, great to hear you've found a fix. |
Changes made to ConfigureForSnitch.cpp:
Replaced [0,40,100] tiling configuration with [0,88,50]:
Changes made to LowerL1Allocations.cpp:
offset >= l1MemoryBytes
is met.LowerL1Allocations.cpp
as a.txt
LowerL1Allocations.txt in case this makes my modifications clearer.
The kernel does not fit in L1:
When the kernel does not fit L1, it's IR gets dumped to stderr, and we can see an unnecessary buffer of gets allocated (lines 99-124 of
0-88-56-build-failure-dispatch-1.mlir
):The buffer assigned to
%28
and%26
gets set to zero, and then is never used again.build output attached as
0-88-56-build-failure.txt
0-88-56-build-failure.txt
annotated mlir for the dumped dispatch attached as
0-88-56-build-failure-dispatch-1.txt
0-88-56-build-failure-dispatch-1.txt
The text was updated successfully, but these errors were encountered: