-
Notifications
You must be signed in to change notification settings - Fork 73
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
BugReport: CInstructions in inlining and vectorisation #634
Comments
It would also be great if you could support |
Thanks for the report + MFE!
The inline was struggling because the predicates were expressed as pure-strings over which performing manipulation isn't supported in loopy. Instead, initializing the predicate expressions as shown in the regression of #635 should support inline-renaming.
I think if written using
This is a bit involved in the way the logic there is implemented over there. I don't have a quick-fix for that yet. |
Can confirm that the inlining logic has been fixed, but we need to do some more work on the vectorisation
|
Fixed as part of #557 |
Hello!
It seems like
CInstructions
are not treated correctly in the inlining and vectorisation process.I have written an iterative solver in loopy. This loopy kernel is used in other kernels in the Firedrake codebase. Because loopy does not support while loops I am using a for-loop and a stopping criterion. Because loopy does not support a break statement, I am using a
CInstruction
to generate the stop criterion. I ran into trouble in two cases.I spent all day writing a minimal failing example, but I am stuck with a scheduling error. I don't get the scheduling error in the Firedrake codebase, so I am doing something wrong in the construction of the MFE. The MFE is here https://gist.github.com/sv2518/3e1cbc3bd894320bc4dcabfeb3c86457
The text was updated successfully, but these errors were encountered: