-
Notifications
You must be signed in to change notification settings - Fork 52
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
Turn dynamic to static #1419
Turn dynamic to static #1419
Conversation
…rds and assignments into static ones
Don't yet have time to review but I recommend:
|
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.
Seems like most of the code in the PR is the same as InferStaticTiming
. Maybe the right thing to do here is to completely get rid of that pass and replace it with group promotion. We can wait for #1418 to be merged so that fewer tests break when this is merged.
@paili0628 let me know when this is ready for re-review |
@rachitnigam @calebmkim This pr is now ready for re-review. I've now found out that the original |
Alternatively, why don't we just wait until the |
I agree with @calebmkim: the two should be different passes unless @paili0628 you have a different argument to combine the two. If not, can we make it so that this pass only handles transforming groups into static groups and replacing their enables with static enables? |
@@ -1,5 +1,5 @@ | |||
{ | |||
"cycles": 42, | |||
"cycles": 100, |
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.
Another program where the cycle count blew up
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.
Left some more comments! The most concerning thing here is that the cycle counts of programs is going up with this PR which is unexpected (to me)
Ok, so after digging around a bit, there a few reasons for the cycle counts increase. I've tried to fix some of them (and some tests may fail bc the cycle count is now lower; can fix this later). Here are the reasons I've "fixed":
Ones that we still need to "fix"
|
Thanks for digging into it! I think that for this PR, we should at least ensure that the cycles counts are no worse than what they were before. Would it make sense to have |
Yeah. I think for the time being, especially having a pass that converts |
ok, so there's one remaining test that is worse for cycle count: |
Nice digging! It would be cool to understand more, but a |
wait I just realized the error is actually on the output value of the |
Ok, so after investigating the
is wrong,
is right. Here are the files: running:
gives the correct output
gives the incorrect output. (And again, the only difference in the two files is the |
So I think |
Ah, thanks for digging into it! I agree with @paili0628 that we should disable this test for now (by renaming the corresponding .expect file to .skip) and merge this |
Alright I'm gonna merge this for now. Thanks everyone! |
Great! Please close related issues that have been addressed by this PR |
This pr modifies the
infer-static-timing
pass to produce static groups for all groups whose latency can be inferred.All the changes are currently in the
group-static-promotion
pass. I have not put the new pass into the pipeline in order not to mess things up.