-
Notifications
You must be signed in to change notification settings - Fork 397
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
Fix for Handling Missing Switch Types in RR Graph Builder #2674
Conversation
One routing failure in vtr_reg_strong when ASSERT_LEVEL is 3. spree doesn't route (either serial or parallel, so makes two failures and a bunch of QoR failures). Maybe an assert fired? |
…rilog-to-routing into read_rr_graph_run_flat
I took a look at the spree vpr logs, and it does seem to be complaining about an out of range switch id (didn't copy down the exact message, sorry). So I think there is a bug in that run somewhere. |
Thanks for addressing the changes ... now waiting for CI to run. In the interim, can you confirm the spree tests pass when you run them by hand? |
@vaughnbetz After the fix, I ran spree and it was working on my local machine. |
Previously, when the run-flat option was used and the RR graph was read from a file, the assumption was that all switch types (both inter-cluster and intra-cluster) were listed under the switch tag in the RR graph file. Consequently, when adding intra-cluster edges, if the RR graph builder encountered an edge that didn't have a corresponding switch type, it would throw an error.
In this PR, we removed this assumption. Now, if the RR graph builder cannot find a switch type, it will add a new RR switch type.
To test this PR, I used the Titan Murax circuit. The first run was with run-flat enabled, and the graph was built from scratch. For the second run, I first wrote the RR graph with run-flat disabled, so the RR graph file did not contain any of the intra-cluster switches. Then, I ran VPR with run-flat enabled again and read in the aforementioned RR graph. The routing results between these two runs were the same.