Skip to content

gpl: extend max iter cap by routability internal iterations#7772

Merged
maliberty merged 35 commits intoThe-OpenROAD-Project:masterfrom
gudeh:gpl-extend-max-iter-by-routability
Jul 30, 2025
Merged

gpl: extend max iter cap by routability internal iterations#7772
maliberty merged 35 commits intoThe-OpenROAD-Project:masterfrom
gudeh:gpl-extend-max-iter-by-routability

Conversation

@gudeh
Copy link
Contributor

@gudeh gudeh commented Jul 10, 2025

Increase the maximum number of nesterov iterations by the number of iterations performed during routability mode (i.e., the section between 0.6 and 0.3 overflow, where snapshot saving and revert triggering occur). This acts as a global stopping criteria for Nesterov.

This change addresses the behavior observed in issue #7581, where a design exhibited very small but consistent reductions in congestion during routability. As a result, it performed an unusually high number of routability reverts (~30), eventually hitting the existing 5000-iteration limit.

This PR also introduces a new routability stopping criteria: a fixed cap of 50 routability reverts.

Log changes:

  • Remove unnecessary + 1 when printing iterations.
  • Report overflow and HPWL at the final iteration.
  • Compute and display the final weighted routing congestion.
  • Add log messages when each of the three main GPL modes begins: incremental, CG initial place, and nesterov.

gudeh added 6 commits July 9, 2025 13:29
…s performed during routability

modify the final iteration on the log to match existing table
include report of gpl iteartions during routability
include warning to the maximum iterations reached, probable undetected divergence
some variables renaming

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@gudeh gudeh changed the title gpl: extend max iter cap by routability gpl: extend max iter cap by routability internal iterations Jul 10, 2025
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 3 commits July 10, 2025 16:51
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

1 similar comment
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 2 commits July 11, 2025 11:22
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 3 commits July 14, 2025 10:46
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@gudeh
Copy link
Contributor Author

gudeh commented Jul 15, 2025

CI failed only on bazel with: There were tests whose specified size is too big. Use the --test_verbose_timeout_warnings command line option to see which ones these are.

@maliberty
Copy link
Member

The real issue is mock-array

[ERROR] finish__timing__setup__ws fail test: -351.636 >= -351.15

The "too big" is more minor.

gudeh added 2 commits July 22, 2025 13:04
…o multiple conflicts

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

1 similar comment
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 7 commits July 22, 2025 18:24
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
this test falls into a corner case because it starts with low overflow

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
…re off

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@gudeh
Copy link
Contributor Author

gudeh commented Jul 23, 2025

The real issue is mock-array

[ERROR] finish__timing__setup__ws fail test: -351.636 >= -351.15

The "too big" is more minor.

I realized why this is happening. I made a small logic change to detect whether routability mode is active: instead of relying solely on the overflow values, I added a check for whether the snapshot has already been saved. As a result, TD is now allowed to run even before the snapshot is saved and overflow is low. This change only affects designs that start with a low overflow (e.g., below 0.60).

@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 2 commits July 23, 2025 13:04
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 2 commits July 24, 2025 15:52
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

gudeh added 2 commits July 29, 2025 14:11
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Copy link
Contributor

@github-actions github-actions bot left a 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

Copy link
Contributor

@github-actions github-actions bot left a 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

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Contributor

clang-tidy review says "All clean, LGTM! 👍"

@gudeh gudeh requested review from eder-matheus and maliberty July 30, 2025 15:44
@gudeh
Copy link
Contributor Author

gudeh commented Jul 30, 2025

secure-CI is green in The-OpenROAD-Project/OpenROAD-flow-scripts#3355

@maliberty maliberty merged commit ff90ff8 into The-OpenROAD-Project:master Jul 30, 2025
11 checks passed
@gudeh gudeh deleted the gpl-extend-max-iter-by-routability branch July 30, 2025 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants