Skip to content

Add trace-density region cost option - #165

Draft
seveibar wants to merge 2 commits into
mainfrom
agent/trace-density-region-cost
Draft

Add trace-density region cost option#165
seveibar wants to merge 2 commits into
mainfrom
agent/trace-density-region-cost

Conversation

@seveibar

Copy link
Copy Markdown
Contributor

What changed

  • Add an opt-in TRACE_DENSITY_COST_FACTOR solver option.
  • Penalize quadratic trace occupancy normalized by available layer count and region area.
  • Preserve legacy behavior with a default factor of zero.
  • Add coverage for density scaling, layer capacity, and the unchanged default.

Why

The existing region cost can be zero for many parallel traces even when concentrating those traces makes downstream detailed routing expensive. This option lets callers evaluate a capacity-aware global-routing candidate without changing the default policy.

Validation

  • bun run typecheck
  • 20 focused tiny-hypergraph tests covering region cost, outside-in partial rip, selective rerip, distance-aware routing, and compact candidate storage
  • git diff --check

The paired autorouter PR uses this option behind a guarded candidate portfolio and benchmarks it against main on the same machine.

@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tiny-hypergraph Ready Ready Preview Aug 12, 2026 11:11pm

Request Review

@tscircuitbot

Copy link
Copy Markdown

Benchmark This PR

Run benchmarks by commenting on this PR:

/benchmark [benchmark.sh args...]
/benchmark --dataset <hg07|srj18> --limit <n> --solver <core|poly> --families <default|default+deep|all> --concurrency <n|auto>

Everything after /benchmark is forwarded directly to ./benchmark.sh.
Every command runs current main and the PR head sequentially on the same Blacksmith machine, then reports their results side by side.

Examples:

  • /benchmark -> all committed completed SRJ18 Pipeline7 cases, core solver
  • /benchmark --limit 4 -> first four committed Pipeline7 cases
  • /benchmark --dataset srj18 --concurrency auto -> srj18 samples with runner CPU-count concurrency
  • /benchmark --sample sample003 -> one committed SRJ18 Pipeline7 case
  • /benchmark --dataset hg07 --limit 20 --solver poly -> first 20 hg07 samples with the poly solver
  • /benchmark --dataset hg07 --limit 40 --families default+deep -> first 40 hg07 samples with deeper candidate families

Any PR whose title contains [BENCHMARK TEST] will automatically run the benchmark workflow on PR updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants