Skip to content

Conversation

@openroad-ci
Copy link
Collaborator

No description provided.

Fix PQ_entry for determinism.  Equidistant points were comparing as
equal and varying in order by compiler.

There is no need for operator== as priority_queue only cares about
operator>.

QOR is impacted due to different placement results.

Signed-off-by: Matt Liberty <[email protected]>
Copy link
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 addresses a non-determinism issue in the detailed placer, which caused different results between cmake and bazel builds. The fix is implemented in src/dpl/src/Place.cpp by ensuring a stable sort order for the priority queue used in the searchNearestSite function. This is achieved by adding a sequence number as a tie-breaker for elements with the same Manhattan distance. This is a correct and robust solution for this class of non-determinism issues. The pull request also diligently updates numerous test output files to match the new deterministic results, which is excellent. The changes are well-contained and look good.

@github-actions
Copy link
Contributor

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

@maliberty
Copy link
Member

Signed-off-by: Matt Liberty <[email protected]>
@github-actions
Copy link
Contributor

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

@maliberty maliberty merged commit 2d5a635 into The-OpenROAD-Project:master Dec 31, 2025
13 checks passed
@maliberty maliberty deleted the dpl-bzl-fixes-seq branch December 31, 2025 02:34
openroad-ci pushed a commit to The-OpenROAD-Project-staging/OpenROAD that referenced this pull request Dec 31, 2025
Now that the compiler difference is resolved in The-OpenROAD-Project#9174

Signed-off-by: Matt Liberty <[email protected]>
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