Commit Graph

1308 Commits

Author SHA1 Message Date
Lofty
c102ce634f awooter: refactor router
I was possessed by abstraction demons, I swear.
2023-12-06 17:53:00 +00:00
SpaceCat-Chan
70d76f5e9e fix suboptimal pathing 2023-12-06 17:53:00 +00:00
SpaceCat-Chan
32eea55f86 properly calculate final delay 2023-12-06 17:53:00 +00:00
SpaceCat-Chan
b42fece905 bidirectional router 2023-12-06 17:53:00 +00:00
SpaceCat-Chan
c49c6f4d18 rustfmt 2023-12-06 17:53:00 +00:00
Lofty
3cdbe2440e awooter: router improvements 2023-12-06 17:53:00 +00:00
Lofty
fe8a0ec426 awooter: break out of pathfinder quicker 2023-12-06 17:53:00 +00:00
Lofty
45e3a74a2c awooter: set congestion parameters 2023-12-06 17:53:00 +00:00
SpaceCat-Chan
8f47ce86fe don't route to sinks that have already been routed to 2023-12-06 17:53:00 +00:00
Lofty
851630d483 awooter: make congestion factors configurable 2023-12-06 17:52:59 +00:00
Lofty
7e53243889 awooter: router correctness fixes 2023-12-06 17:52:38 +00:00
SpaceCat-Chan
a14e377268 spread out partitioner pip selections 2023-12-06 17:52:38 +00:00
Lofty
cbee9f1e5f awooter: (bad) router congestion heuristics 2023-12-06 17:52:38 +00:00
Lofty
1375277171 awooter: router improvements and a bugfix 2023-12-06 17:52:38 +00:00
SpaceCat-Chan
8fdb7c78c7 make pip selection cache 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
a1b9222bd2 split pip selection into seperate struct 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
8b06c073b9 move special casing out of partitioner 2023-12-06 17:52:37 +00:00
Lofty
9a9d4c9392 awooter: significantly speed up partitioner
Co-authored-by: SpaceCat-Chan <49094338+SpaceCat-Chan@users.noreply.github.com>
2023-12-06 17:52:37 +00:00
SpaceCat-Chan
90f0630e62 make slight improvement to partitioner 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
6194b6dbcf make a theoretically correct partitioner 2023-12-06 17:52:37 +00:00
Lofty
25ca4cdc01 awooter: retry partitioning if there are overused wires 2023-12-06 17:52:37 +00:00
Lofty
bed9ae6c17 awooter: multithreaded routing 2023-12-06 17:52:37 +00:00
Lofty
1685482552 awooter: fix multithreaded partitioning 2023-12-06 17:52:37 +00:00
Lofty
879b6e6691 awooter: single-thread pathfinding 2023-12-06 17:52:37 +00:00
Lofty
7ef4be49dc awooter: cargo fmt 2023-12-06 17:52:37 +00:00
Lofty
a1fb22909c awooter: partitioner improvements 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
a7e25754e1 make pip exploration not cursed 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
8e66d3d7d8 add uphill pips iter 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
1c0885435c make find_best_pip take an arc instead of wires 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
fe5daebba5 improve partition sanity check quality of life 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
38908e64fb use new arc type in partitioner 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
88f88e48cb only search pips inside partition bounds 2023-12-06 17:52:37 +00:00
Lofty
686648c406 awooter: wip 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
d64289da65 finalize downhill iterator 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
0c647c0471 create downhill iter wrapper 2023-12-06 17:52:37 +00:00
Lofty
0aadeab542 awooter: further clean up 2023-12-06 17:52:37 +00:00
Lofty
063c96c3df awooter: add Arc struct 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
b50e56a543 split partitioning code into seperate file 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
862fbf7ca7 split arc extraction into function 2023-12-06 17:52:37 +00:00
Lofty
6279d1642c awooter: clean up unused code 2023-12-06 17:52:37 +00:00
Lofty
fbbcf6aa67 awooter: return of the progress bar 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
d7dbaa2c7e fix bug in split_line_over_x 2023-12-06 17:52:37 +00:00
Lofty
b4a442ba29 awooter: simple time measurement 2023-12-06 17:52:37 +00:00
SpaceCat-Chan
0a46c5b491 make partitioner run in parallel over nets 2023-12-06 17:52:37 +00:00
Lofty
3931daefc7 awooter: atomics instead 2023-12-06 17:52:37 +00:00
Lofty
1b80a559e2 awooter: better locking 2023-12-06 17:52:37 +00:00
Lofty
026c2883e5 awooter: properly parallelise 2023-12-06 17:52:37 +00:00
Lofty
937acd3ee9 awooter: clamp pip indices 2023-12-06 17:52:37 +00:00
Lofty
49b6d894d1 awooter: cargo fmt 2023-12-06 17:52:37 +00:00
Lofty
8276bf255d awooter: parallelise partitioning 2023-12-06 17:52:37 +00:00