Skip to content

dpl/dpo: rework metrics#10160

Open
gudeh wants to merge 10 commits intoThe-OpenROAD-Project:masterfrom
gudeh:dpl-negotiation-messages
Open

dpl/dpo: rework metrics#10160
gudeh wants to merge 10 commits intoThe-OpenROAD-Project:masterfrom
gudeh:dpl-negotiation-messages

Conversation

@gudeh
Copy link
Copy Markdown
Contributor

@gudeh gudeh commented Apr 16, 2026

Summary

This PR includes new metrics for DPL and DPO, including:

  • The algorithm used for DPL, being diamond search or negotiation (detailedplace__dpl__legalizer__type).
  • Counting of internal DPL moves performed (detailedplace__dpl__total__moves).
    • The diamond search DPL methodology should have the same number of movable instances as the number of internal moves. We only move each cell once. If one move fails, DPL as a whole fails.
    • While the new negotiation approach may have a lot more internal moves, since it allows for overlaps along the algorithm progression.
  • Move attempts from DPO (detailedplace__dpo__total__attempts).
  • Actually moved instances by DPO (detailedplace__dpo__relocated__cells).
  • Displacement data for DPO (max, mean, and total, same as previously available from DPL).

I renamed a few existing metrics, such as from detailedplace__design__instance__displacement__total to detailedplace__dpl__instance__displacement__total

Here is the final result, comparing to master (left):
Screenshot from 2026-04-16 17-46-08

Type of Change

  • Refactoring

Impact

no-op

Verification

  • I have verified that the local build succeeds (./etc/Build.sh).
  • I have run the relevant tests and they pass.
  • My code follows the repository's formatting guidelines.
  • I have signed my commits (DCO).

gudeh added 6 commits April 13, 2026 11:54
including counters for number of intermediate and final moves

Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
include DPO nominal HPWL diff as metric

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

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request enhances placement analysis by introducing move and attempt tracking across legalization and optimization passes. It refactors reporting logic to include detailed displacement statistics and relocated cell counts, while also updating metric names for better consistency. Review feedback focuses on improving code robustness and style by explicitly including the header, using the std::round function, and standardizing DPO metric names to match the updated DPL naming convention.

Comment thread src/dpl/src/Optdp.cpp
Comment thread src/dpl/src/Optdp.cpp
Comment thread src/dpl/src/Optdp.cpp
Copy link
Copy Markdown
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

Comment thread src/dpl/src/Optdp.cpp
Comment thread src/dpl/src/Optdp.cpp
Comment thread src/dpl/src/Optdp.cpp
Copy link
Copy Markdown
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

Comment thread src/dpl/src/Optdp.cpp Outdated
gudeh added 2 commits April 17, 2026 09:47
Signed-off-by: Augusto Berndt <augusto.berndt@precisioninno.com>
@github-actions
Copy link
Copy Markdown
Contributor

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant