-
Notifications
You must be signed in to change notification settings - Fork 41
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
[MLIR] Remove scheduling at FunctionOpInterfaces #1407
[MLIR] Remove scheduling at FunctionOpInterfaces #1407
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @erick-xanadu! 😲 I can't speak for the implementation, so I'll leave the review here to others on the compilation team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's target this bugfix for release :)
f37bf9b
to
356bafd
Compare
356bafd
to
8df9efa
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## v0.10.0-rc #1407 +/- ##
==============================================
- Coverage 96.68% 96.67% -0.01%
==============================================
Files 75 75
Lines 8266 8272 +6
Branches 867 870 +3
==============================================
+ Hits 7992 7997 +5
Misses 221 221
- Partials 53 54 +1 ☔ View full report in Codecov by Sentry. |
Hello. You may have forgotten to update the changelog!
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
(I'm including this PR in my changelog update, so need to to do anything on that front.)
Just curious, what was the last commit about? :) |
@dime10, |
Context: The
apply_pass
function from the frontend is capable of scheduling any MLIR pass from the frontend for a specific qnode. However, in order for the pass to succeed in its compilation, it must allow itself to be scheduled to transform a module.Description of the Change: There is another branch that I worked on where I moved the bulk of the transformation to Patterns; however, the pattern applicators that are upstream in MLIR do not support running a single iteration of the worklist. I would like at some point to add a custom pattern applicator that doesn't fold and only does a single pass through the worklist (or take a variable). The passes as written represent a single iteration through the worklist. Running a single iteration through the worklist may not yield all full optimizations, but that's how it is currently coded. I think this is acceptable as we don't yet do a cost benefit analysis for any transformation.
Benefits: Can write the following: