-
Notifications
You must be signed in to change notification settings - Fork 581
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
rsz: repairSetup: Restrict number of repairs per iteration #6244
Open
eszpotanski
wants to merge
2
commits into
The-OpenROAD-Project:master
Choose a base branch
from
antmicro:eszpot/restrict-repairs-per-iter
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
rsz: repairSetup: Restrict number of repairs per iteration #6244
eszpotanski
wants to merge
2
commits into
The-OpenROAD-Project:master
from
antmicro:eszpot/restrict-repairs-per-iter
+1,033
−2,128
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
clang-tidy made some suggestions
eszpotanski
force-pushed
the
eszpot/restrict-repairs-per-iter
branch
from
November 26, 2024 10:08
42405ec
to
0ec2fc5
Compare
clang-tidy review says "All clean, LGTM! 👍" |
eszpotanski
force-pushed
the
eszpot/restrict-repairs-per-iter
branch
from
November 26, 2024 10:23
0ec2fc5
to
3a8e562
Compare
clang-tidy review says "All clean, LGTM! 👍" |
eszpotanski
force-pushed
the
eszpot/restrict-repairs-per-iter
branch
from
November 26, 2024 23:36
3a8e562
to
98b133b
Compare
clang-tidy review says "All clean, LGTM! 👍" |
maliberty
reviewed
Nov 27, 2024
…alling into local optimums Signed-off-by: Eryk Szpotanski <[email protected]>
eszpotanski
force-pushed
the
eszpot/restrict-repairs-per-iter
branch
from
January 2, 2025 14:19
98b133b
to
fd90261
Compare
clang-tidy review says "All clean, LGTM! 👍" |
Signed-off-by: Eryk Szpotanski <[email protected]>
eszpotanski
force-pushed
the
eszpot/restrict-repairs-per-iter
branch
from
January 2, 2025 15:25
fd90261
to
f830ffd
Compare
clang-tidy review says "All clean, LGTM! 👍" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR changes the way
rsz::repairSetup
iterates over the violations. Instead of going one by one and trying to completely repair a violation, this PR introduces the maximum number of repairs per iteration.If a violation was not repaired, it goes back to the queue and algorithm proceeds to the violation with the worst slack.
This approach should minimize the probability of falling into local optimums, and potentially make fixing other violation easier. Base on the experiment, it can speedup the repairs which resolves all violations, from 6% and up to 25%:
Design:
ibex
, stage:2_1_floorplan
Design:
ibex
, stage4_1_cts
Design:
black_parrot
, stage:2_1_floorplan
Design:
black_parrot
, stage:4_1_cts
Design:
ariane133
, stage:2_1_floorplan
For stages where all violations are not resolved, it can increase the number of iterations and improve the slack:
Design:
aes
, stage:4_1_cts
Design:
ibex
, stage:5_1_grt
As results depends on max number of repairs per iteration, default value was set to 20 (usually ) and
-max_passes_per_iter
parameters was added forrepair_timing
to make it adjustable.