flow: collect the global placement HPWL metric - #4455
Open
minjukim55 wants to merge 2 commits into
Open
Conversation
Picks up gpl reporting HPWL after global placement, which writes globalplace__route__wirelength__estimated into the global place stage metrics. Nothing in the flow scripts has to change: genMetrics.py merges every key it finds in 3_*.json, and checkMetadata.py only looks at the fields named in the rule files. Signed-off-by: Minju Kim <mkim@precisioninno.com>
Adds globalplace__route__wirelength__estimated to the metrics genRuleFile.py emits rules for, with the same padding the routed wirelength rule uses, so a global placement wirelength regression is caught the same way. Existing rules-base.json files keep working; the rule appears the next time they are regenerated. Signed-off-by: Minju Kim <mkim@precisioninno.com>
Contributor
There was a problem hiding this comment.
Code Review
This pull request updates the tools/OpenROAD subproject commit and adds a new rule configuration for globalplace__route__wirelength__estimated in flow/util/genRuleFile.py. There are no review comments, so I have no feedback to provide.
Member
🔍 QoR checkMetrics reflect the PR merge build — i.e. what will land on the target branch. Advisory — results are log-only and do not affect build status. The authoritative QoR gate remains the local rules-file check. Commit 62 design(s) checked — 0 with regression(s), 0 without a comparable baseline.
|
This file contains hidden or 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
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.
Depends on OpenROAD PR https://github.com/The-OpenROAD-Project-private/OpenROAD/pull/3687 (
gpl: report HPWL after global placement). Two commits, in this order:1. Bump
tools/OpenROAD→47c1225559Picks up gpl reporting HPWL at the end of global placement:
Under
utl::set_metrics_stage "globalplace__{}"that key lands inlogs/<platform>/<design>/<variant>/3_3_place_gp.jsonasglobalplace__route__wirelength__estimated, measured withodb::WireLengthEvaluator— the same evaluator dpl uses fordetailedplace__route__wirelength__estimated, so the two are directly comparable.No flow-script change is needed for it to be collected:
genMetrics.pymerge_jsons()doesoutput.update(data)over3_*.jsonwith no key whitelist, andcheckMetadata.pyonly looks at fields named in the rule files, so existing goldens are unaffected.2. Register the metric in
genRuleFile.pySame padding and comparison as the existing
detailedroute__route__wirelengthrule. Existingrules-base.jsonfiles keep working as they are; the new rule shows up the next time they are regenerated (genAllRuleFiles.sh), which is not part of this PR.Testing
Metric side verified on the OpenROAD PR:
openroad -metrics ...onsrc/gpl/test/simple01.tclwrites"route__wirelength__estimated": 2597.56, and 75/75 gpl tests plus the odb and top-level golden tests pass there. ORFS CI here exercises the bump end to end.