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

Net decomposing router: hotfix #2828

Merged
merged 1 commit into from
Nov 28, 2024
Merged

Net decomposing router: hotfix #2828

merged 1 commit into from
Nov 28, 2024

Conversation

duck2
Copy link
Contributor

@duck2 duck2 commented Nov 28, 2024

Looks like sinks no longer "grow" to the size of their tile. In that case, it's better to use the tile bounding box to sample sinks for the net decomposing router.

This seems to fix the runtime blowup I started to see again with the decomp + flat router. Here is a table with "actual" route times from the flat router which I get by adding up the iteration times.

circuit master mine decomp decomp (fixed)
gsm_switch_stratixiv_arch_timing.blif 113.7 108 72.2 63.6
mes_noc_stratixiv_arch_timing.blif 467.7 254.6 733.6 655.4
dart_stratixiv_arch_timing.blif 68.5 68.2 47.8 42.7
denoise_stratixiv_arch_timing.blif 219.4 277.8 97.2 92.4
sparcT2_core_stratixiv_arch_timing.blif 173.8 187.4 114.4 109.5
cholesky_bdti_stratixiv_arch_timing.blif 115.9 121.8 83.3 65.8
minres_stratixiv_arch_timing.blif 69.7 69.7 38.2 35.4
stap_qrd_stratixiv_arch_timing.blif 71.5 65 147.2 47.6
openCV_stratixiv_arch_timing.blif 112.1 106.1 78.3 65.6
bitonic_mesh_stratixiv_arch_timing.blif 137.3 131.3 73.9 72
segmentation_stratixiv_arch_timing.blif 117.5 112.1 70.7 66.1
SLAM_spheric_stratixiv_arch_timing.blif 80.1 78.2 59.7 57
des90_stratixiv_arch_timing.blif 72.4 74.8 1015.1 102.9
neuron_stratixiv_arch_timing.blif 28.2 25.8 17.8 16.1
sparcT1_core_stratixiv_arch_timing.blif 48.7 45.8 34.6 32.5
stereo_vision_stratixiv_arch_timing.blif 20.9 23.6 17.2 16.9
cholesky_mc_stratixiv_arch_timing.blif 39.1 38.1 27.1 25
directrf_stratixiv_arch_timing.blif 710.4 520.7 385.6 364.2
bitcoin_miner_stratixiv_arch_timing.blif 592.1 577 477.1 448.3
LU230_stratixiv_arch_timing.blif 416.5 418.4 453.6 287.2
sparcT1_chip2_stratixiv_arch_timing.blif 255 270.2 178.8 169.5
LU_Network_stratixiv_arch_timing.blif 180.4 189.9 115.4 116.4

@github-actions github-actions bot added the VPR VPR FPGA Placement & Routing Tool label Nov 28, 2024
@vaughnb-cerebras
Copy link

The code looks fine and the results are improved so merging. But you should add a comment explaining these two functions are used for sinks, and hence you want to check how close the block they are part of is to the cutline (hence the tile code).

@vaughnbetz vaughnbetz merged commit 69619a0 into master Nov 28, 2024
37 checks passed
@vaughnbetz vaughnbetz deleted the partition_subtree branch November 28, 2024 21:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants