Return complete Pipeline9 hypergraph approximations at the iteration limit - #2406
Return complete Pipeline9 hypergraph approximations at the iteration limit#2406AnasSarkiz wants to merge 4 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Benchmark This PRRun benchmarks by commenting on this PR: Comment Everything after Use Any PR whose title contains |
|
This PR has been automatically marked as stale because it has had no recent activity. It will be closed if no further activity occurs. |
|
This PR was closed because it has been inactive for 1 day since being marked as stale. |
Superseded by #2494, which uses the existing routing and timeout-acceptance flow with a smaller change.
The pedometer reproduction from #2385 exhausts tiny-hypergraph's iteration budget without retaining a complete routing graph. Its 230 connections also exceed the existing 180-connection limit for the crossing-point allocation prepass.
Keep the normal graph search and its existing best-solution acceptance. When selective routing without preloaded copper exhausts its iteration budget without a complete candidate, use the complete-seed option from tscircuit/tiny-hypergraph#175 to construct short independent paths with distinct crossing points. Return that complete graph through the normal timeout-acceptance mechanism. Record this final approximation and the preceding refinement iteration count in solver stats.
Generated assignments remain ordinary rerippable routes; caller-owned preloaded copper retains the stable-assignment solver. Pipeline9 explicitly opts into final approximation; legacy Pipeline7 behavior is preserved. Structural errors continue to surface. The debugger and sample runner default to Pipeline9.
Regression and snapshot
Add a Pipeline9 regression using the existing pedometer fixture with caching disabled. It forces a one-iteration graph budget and checks all 230 returned routes, every assigned port's net ownership, reserved-region ownership, and the ability to reopen the generated seed for refinement. Commit an SVG snapshot of the actual returned graph, rendered on white and visually inspected.
Dependency and scope
Pin tiny-hypergraph to
ad607292ad6cb90a48947a7badd68bbedcde152e. Merge tscircuit/tiny-hypergraph#175 (stacked on tscircuit/tiny-hypergraph#167) before this consumer PR.This change covers the hypergraph stage. The independent-path pass has its own per-route budget; this does not assert that downstream high-density routing or DRC is solved.
Validation
Hypergraph snapshot