Skip to content
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

add detailed routing stage parameter to reclustering utils #2584

Merged
merged 11 commits into from
Jun 12, 2024

Conversation

KA7E
Copy link
Contributor

@KA7E KA7E commented Jun 5, 2024

Added detailed routing stage parameter to pack_mol_in_existing_cluster and start_new_cluster_for_mol; both functions pass this parameter to try_pack_molecule.

Description

Related Issue

Motivation and Context

Without this option, the legalizer runtime is untenable.

How Has This Been Tested?

Types of changes

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation
  • I have updated the documentation accordingly
  • I have added tests to cover my changes
  • All new and existing tests passed

@github-actions github-actions bot added VPR VPR FPGA Placement & Routing Tool lang-cpp C/C++ code labels Jun 5, 2024
@github-actions github-actions bot added the libarchfpga Library for handling FPGA Architecture descriptions label Jun 5, 2024
@KA7E KA7E force-pushed the add_det_route_stage_option_to_reclustering_utils branch from abf42b9 to abc1c1b Compare June 5, 2024 17:18
@KA7E KA7E requested a review from vaughnbetz June 6, 2024 15:45
@KA7E
Copy link
Contributor Author

KA7E commented Jun 7, 2024

@vaughnbetz could you please review? Subsequent legalizer PRs depend on this.

@KA7E
Copy link
Contributor Author

KA7E commented Jun 7, 2024

Re: QoR. This option is key to speeding up the legalizer, since it allows it to use pin counting legality checking instead of runtime intensive intra-cluster routing. I do not think it has any impact on the rest of VPR, since it only impacts re-clustering API functions (which are not currently called anywhere else); for those functions, it only adds an optional const int& parameter.

vpr/src/pack/re_cluster_util.h Outdated Show resolved Hide resolved
vpr/src/pack/re_cluster_util.h Outdated Show resolved Hide resolved
vpr/src/pack/re_cluster_util.h Outdated Show resolved Hide resolved
vpr/src/pack/re_cluster_util.h Outdated Show resolved Hide resolved
@vaughnbetz
Copy link
Contributor

It looks like the prior PR I merged on (another one of your PRs) resulted in a conflict with this one. Some line of code got changed twice so git can't figure out which one to use; they are likely the same though as both PRs are closely related. @KA7E : you'll have to pull and resolve the conflict (it should be an easy one) before this can be merged.

It's probably best to have one PR for a function (or a full file) that you're changing at a time so you don't get self conflicts like this. Smaller PRs are easier to merge, but not if they overlap on the affected code, and PRs with up to a couple of hundred lines of code would still be considered pretty small and aren't very hard to review. Some PRs will also wind up being bigger than that since they're larger changes that are coupled together.

@vaughnbetz vaughnbetz merged commit 2bf5d27 into master Jun 12, 2024
53 checks passed
@vaughnbetz vaughnbetz deleted the add_det_route_stage_option_to_reclustering_utils branch June 12, 2024 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lang-cpp C/C++ code libarchfpga Library for handling FPGA Architecture descriptions VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants