Add all-route greedy timeout fallback and skip section search after timeout recovery#111
Add all-route greedy timeout fallback and skip section search after timeout recovery#111Abse2001 wants to merge 13 commits into
Conversation
…t benchmarking support
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Benchmark This PRRun benchmarks by commenting on this PR: Everything after Examples:
Any PR whose title contains |
|
/benchmark --dataset srj18 |
|
/benchmark |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
seveibar
left a comment
There was a problem hiding this comment.
@Abse2001 just summarizing some stuff from our meeting:
- Instead of doing a "greedy panic", can we try to have a greedy initialization OR greedy initialization, my concern is that we're calling greedySolver.solve() which is difficult to debug and breaks the regular iteration system
- In our meeting i thought the solved routes from the duplicate port congestion solver would be usable as a fallback, i think this is actually NOT possible because the solved routes likely share ports illegally!
|
/benchmark --dataset srj18 |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
|
/benchmark --dataset srj18 |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
|
/benchmark |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
seveibar
left a comment
There was a problem hiding this comment.
Dies this work? Did it increase scores
|
|
||
| const DEFAULT_SECTION_SOLVER_MAX_ITERATIONS = 50_000 | ||
| const DEFAULT_SECTION_PIPELINE_MAX_ITERATIONS = 200_000 | ||
| const SECTION_PIPELINE_ITERATION_OVERHEAD = 10_000 |
There was a problem hiding this comment.
?? What is this concept 🤔
There was a problem hiding this comment.
it works and I removed the SECTION_PIPELINE_ITERATION_OVERHEAD must of been codex added it and I didn't catch it
There was a problem hiding this comment.
and yes I ran another benchmark and it still works with 75% on srj18
|
/benchmark --dataset srj18 |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
|
Do we know the impact on tscircuit autorouter? |
|
will update on autorouter rn |
|
/benchmark --dataset srj18 |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
|
/benchmark --dataset srj18 |
Tiny Hypergraph Benchmark Results
Main Branch Details
PR Details
Workflow: View run |
Motivation
SRJ18 samples were failing even when cloned ports should have made the routing problem solvable. Investigation showed the
failures were not all true static reachability failures:
DuplicateCongestedPortSolverdroppedsolvedRoutes, causing cloned graphs to lose endpoint hints and remap some routes tofallback centermost ports.
acceptance logic.
retried remaining routes from the current partial state.
solveGraphsucceeds via emergency timeout fallback, automatic section optimization can be prohibitively expensive andnot useful.
Fix
solvedRouteswhen cloning congested ports so route endpoint hints survive topology repair.fallback fails.
solveGraphand section solver caps, plus overhead, instead ofusing a fixed
200_000.solveGraphcompleted via greedy timeout fallback, using an empty section mask topreserve the valid
solveGraphoutput.