feat: add physical-capacity routing with HighDensitySolverB02 - #2271
feat: add physical-capacity routing with HighDensitySolverB02#2271seveibar wants to merge 11 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 |
da9e5f6 to
c8a4046
Compare
c8a4046 to
7e35667
Compare
7e35667 to
c82a1fb
Compare
c82a1fb to
4dcfbf0
Compare
fbf2543 to
f2ba0e7
Compare
|
/benchmark --same-machine --dataset 18 --pipeline 9 |
|
/benchmark --same-machine --dataset 18 --pipeline 7 |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 0 improved, 0 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Workflow: View run |
Same Machine Benchmark ResultsBoth revisions ran sequentially in one Blacksmith job on Dataset:
Outcome changes: 1 improved, 0 regressed. DRC issues are totaled across solved samples. Timing percentiles include solved and timed-out samples; negative timing deltas are faster. Changed outcomes (1)
Workflow: View run |
|
Superseded by focused PRs:
The first five are a clean dependency stack. Pipeline 9 branches from the B02 adapter, while GrowShrink remains independent because Bug 101 currently exposes nodes that still rely on the legacy invalid fallback. |
What this does
Bugreport101 looks like a 37-connection board, but expands to 190 terminals, 155 post-escape point-pair routes, 718 physical-capacity high-density nodes, and 1,173 exact local route pairs. The original cache-free Pipeline 7 effort-1 solve took about 395.9 seconds.
This PR replaces the earlier search-budget heuristic with a new routing path:
HighDensitySolverB02, supplied by the pinned@tscircuit/high-density-b01package, composes a bounded B01 partial-route seed with conflict-directed planar and cross-layer repair, then publishes output only after strict trace/via clearance validation;TwoChordLaneIntraNodeSolverhandles the common perpendicular two-chord channel case deterministically;The exact former hotspot
topology_merge_19__sub_0_2fell from about 51.6 seconds to about 0.15 seconds. Final isolated high-density routing fell from 105.3 seconds to 13.1 seconds, with 63HighDensitySolverB02winners and 4 two-chord winners.End-to-end result
Two clean opt-in runs on the reference machine:
The post-integration run using merged
HighDensitySolverB02completed in 41.808 seconds with the same 2,498,457 iterations and 22 relaxed DRC errors. The original<120_000 mscontract remains unchanged. This is not a claim that the whole board is DRC-clean; the remaining 22 issues stay visible and regression-guarded.Scope and safety
The output-changing route is explicit and default-off via:
highDensityRoutingMode: "physical-capacity"The Bugreport101 test and Cosmos fixture opt in. Legacy Pipeline 7 callers retain duplicate-port preprocessing, uniform redistribution, one-step pathing scheduler granularity, and the existing HD portfolio. The previous initial/grown iteration caps, largest-scale-first ordering, and unvalidated post-shrink repair-seed policy have been removed from this branch.
Supporting optimizations include:
The GitHub-only Cosmos verification step uses a 6 GiB Node heap. Its 4.1 GiB default heap consistently aborted while rendering the 4,881-module fixture bundle; the external Vercel deployment was already green.
Visual snapshot
The env-gated regression includes this current routed snapshot in addition to the always-reviewed unrouted input snapshot:
Upstream dependencies
HighDensitySolverB02, composing bounded B01 seeding with strict conflict-directed repair; pinned to merge commitf974f97a77f27bc32b1fe5a8b3bccb7ba023e0b7All dependencies are pinned by commit SHA.
Validation
HighDensitySolverB02integration coverage: 2 tests, 2,754 assertions, 0 failuresbunx tsc --noEmit --pretty falsepassesbun run buildpassesgit diff --checkpassesRun the full regression with:
RUN_BUGREPORT101_CM5_SPI_ROUTING_TIMEOUT=1 bun test tests/bugs/bugreport101-cm5-spi-routing-timeout.test.ts --timeout 9999999The runtime assertion remains env-gated because wall time is hardware-sensitive. The deterministic exact-node tests use iteration, route-identity, and geometry assertions instead of wall-clock thresholds.