-
-
Notifications
You must be signed in to change notification settings - Fork 791
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
feat[venom]: new DFTPass
algorithm
#4255
base: master
Are you sure you want to change the base?
Conversation
Co-authored-by: Harry Kalogirou <harkal@nlogn.eu>
Co-authored-by: HodanPlodky <36966616+HodanPlodky@users.noreply.github.com>
…s' into feat/dft_upgrade
This reverts commit a99ccf6.
children = sorted( | ||
self.ida[inst], | ||
key=lambda x: ( | ||
-self.inst_offspring_count[x] + (x.opcode == "iszero") * 10, | ||
inst.operands.index(x.output) if x.output in inst.operands else 0, | ||
), | ||
) |
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.
the following seems to do slightly better:
children = sorted( | |
self.ida[inst], | |
key=lambda x: ( | |
-self.inst_offspring_count[x] + (x.opcode == "iszero") * 10, | |
inst.operands.index(x.output) if x.output in inst.operands else 0, | |
), | |
) | |
children = sorted( | |
self.ida[inst], | |
key=lambda x: ( | |
inst.operands.index(x.output) if x.output in inst.operands else 0, | |
-self.inst_offspring_count[x], | |
), | |
) |
i guess inst_offspring_count is too coarse for what we want. i think the weight should be more like, recursively computing inst.operands.index(x.output) if x.output in inst.operands else 0
, through the whole subgraph.
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.
Maybe this file will be clearer if the operand dependencies and barriers are separated into two data structures
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #4255 +/- ##
===========================================
- Coverage 91.30% 49.38% -41.93%
===========================================
Files 110 110
Lines 15764 15864 +100
Branches 3461 3492 +31
===========================================
- Hits 14393 7834 -6559
- Misses 935 7406 +6471
- Partials 436 624 +188 ☔ View full report in Codecov by Sentry. |
What I did
I upgraded the DFT algorithm to allow for more instruction movement. It also removes the use of order ids and sorting. It results generally smaller code, and opens up the road for multi-dimensional fencing.
How I did it
How to verify it
Commit message
Description for the changelog
Cute Animal Picture