-
Notifications
You must be signed in to change notification settings - Fork 414
add flat idx to pb_graph_node , populate in alloc_and_load_pb_graph #2590
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
Conversation
@vaughnbetz could you please review? Subsequent legalizer PRs depend on this. |
QoR check running neuron: Master VPR: Master VPR with legalizer-related modifications (this PR and others): |
Thanks, that looks good. It's odd cpu time sped up by about 10%; probably a load issue I guess. |
The modified version was compiling while the baseline was running, but nothing else was happening while the modified version was running. I thought I had enough resources that this wouldn't matter, but maybe it impacted the runtime. |
CPUs throttle pretty aggressively now; if it's a laptop cpu it probably
changes the voltage and clock frequency if more than one core is running.
…On Wed, Jun 12, 2024 at 10:55 AM KA7E ***@***.***> wrote:
The modified version was compiling while the baseline was running, but
nothing else was happening while the modified version was running. I
thought I had enough resources that this wouldn't matter, but maybe it
impacted the runtime.
—
Reply to this email directly, view it on GitHub
<#2590 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABNDPJ72FAPUMM2QBESDERDZHBOMJAVCNFSM6AAAAABI3WPLZCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRTGI2TEMBYGI>
.
You are receiving this because you modified the open/close state.Message
ID: <verilog-to-routing/vtr-verilog-to-routing/pull/2590/c2163252082@
github.com>
|
It is not a laptop, it's a repurposed gaming server (that I like to use so I can control what else is running). If runtime is a concern I'm happy to re-run each all alone. |
I think it's OK ... the odds were low of a slowdown and this pushes them lower still. |
Added a flat_site_idx to pb_graph_node struct, along with code to populate it in alloc_and_load_pb_graph.
Description
As alloc_and_load_pb_graph builds the graph from the top down, each parent computes its child's flat index and passes it to them as an argument to alloc_and_load_ph_graph.
The child's flat site is computed by the parent as:
(parent's flat site)*(total children of this type) + child's sibling index.
Related Issue
Motivation and Context
This is used to help the legalizer place a molecule on a user specified site. It is better to store this value in the node than to recompute it over and over.
How Has This Been Tested?
Compared this value to locally computed value in the legalizer, which is then printed to a flat placement file and compared via a script. I tested on both StratixIV and ISPD Ultrascale architectures. In all cases, computed sites and sites stored in the pb_graph_node match.
Types of changes
Checklist: