-
Notifications
You must be signed in to change notification settings - Fork 765
mpl: always use best valid result #6967
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
mpl: always use best valid result #6967
Conversation
Signed-off-by: Arthur Koucher <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
Noice! |
|
Are you running a secure CI for this? Hopefully we just see improvements... |
|
I ran a Secure-CI and it had some failures. I'm taking a look. |
Signed-off-by: Arthur Koucher <[email protected]>
Signed-off-by: Arthur Koucher <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
Re-running Secure-CI. |
|
uW is failing due to high congestion in GRT post-drt. I'm taking a look. |
|
Re-ran CI with a lower routing layer adjustment for uW (0.15 -> 0.10) and it passed. However, ngt45/swerv_wrapper is failing in detail placement. I'll investigate. |
Signed-off-by: Arthur Koucher <[email protected]>
1) Change test to not consider boundary penalty in
order to make it more concise.
2) Adapt regression tests results.
Signed-off-by: Arthur Koucher <[email protected]>
|
clang-tidy review says "All clean, LGTM! 👍" |
|
The IO constraints project was being prioritized so this was on hold. I updated the branch with master and adapted the tests results. I'm also updating a test's configuration to make it more concise. Re-running Secure-CI. |
|
|
|
#3190 for decreasing routing layer adjustment on |
|
@eder-matheus Secure-CI passed. |
Context
When running Secure-CI for #6649, some results were considerably different than master which doesn't seem to make sense as there's no functionality changes.
Cause of the Differences
Inside SA, we have a mechanism to store the best valid result. It was created in order to ensure MPL converges if a valid result was generated at any point during annealing. However, this best stored result is only actually used if the final result is invalid. We should use the best valid result even if the final iteration result is a valid one, because we might have generated a good result during the early iterations that ended up being discarded.
I.e., what's happening in the previously cited PR is that the change in the random number generator affected the path SA takes and some good results from early iterations that we were luckily choosing are now being discarded.
Changes
Use the best valid result stored even if the final result is valid.
With these changes, the results should improve compared to master and the results between base/test for #6649 should get more consistent.
Additional
The io_constraints3 test is not using the boundary penalty in SA. That will make the test more concise as the centralization attempt should always work regardless of the shape chosen for the std cell cluster.