-
Notifications
You must be signed in to change notification settings - Fork 25
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
🐛 Multi-output nodes #451
🐛 Multi-output nodes #451
Conversation
Signed-off-by: GitHub Actions <actions@github.com>
The code seems to be working. Before merging you might test the following: I guess you already checked for all benchmarks, that this is working. But you could also check, if the number of added rows corresponds to the number of multi PO nodes. But since you first determine the layout size and then insert the PO nodes, everything should be working perfectly. I just know i had issues with this before. |
Additional rows are added based on the number of multi-output nodes in
|
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 code seems to be working. But since you already iterate through all pos at the beginning of orthogonal_impl and therefore compute all multi_out_nodes, you might be able to use them in the main loop of ortho to place the multi_out_nodes. With this implementation you need to iterate through all pos twice.
So i approved it, since its working, but i guess its up to @marcelwa if this implementation makes sense.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #451 +/- ##
=======================================
Coverage 98.22% 98.22%
=======================================
Files 214 214
Lines 28883 28907 +24
Branches 1368 1368
=======================================
+ Hits 28369 28394 +25
+ Misses 514 513 -1
... and 4 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
|
Signed-off-by: GitHub Actions <actions@github.com>
Signed-off-by: GitHub Actions <actions@github.com>
…fix_ortho_multiple_po_bug
Signed-off-by: GitHub Actions <actions@github.com>
The problem ist that multi-output POs usually appear in a different order in |
Actually, this can also happen for networks without mulit-ouput POs, which explains why the layout for |
Signed-off-by: GitHub Actions <actions@github.com>
@marcelwa I refactored the code to always place POs at the end, as this will solve both problems simultaneously. |
Signed-off-by: GitHub Actions <actions@github.com>
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.
Just two tiny comments, then it is ready to be merged
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.
Many thanks!
Description
Fixes a corner case in
ortho
where a gate has multiple output nodes connected to it.Thanks to @hibenj for pointing out this solution in his implementation of
orthogonal_ordering_network
.Checklist: