@tscircuit/fanout-solver 0.0.61 → 0.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -282,8 +282,8 @@ extents.
|
|
|
282
282
|
|
|
283
283
|
## Dataset 31 benchmark
|
|
284
284
|
|
|
285
|
-
Run `./benchmark.sh` (or `bun run benchmark`) to benchmark **
|
|
286
|
-
directional cases** from
|
|
285
|
+
Run `./benchmark.sh` (or `bun run benchmark`) to benchmark **all 24 dataset 31
|
|
286
|
+
directional cases: 12 AM62L and 12 RK3308** from
|
|
287
287
|
[`tscircuit/dataset-fanout31-am62l`](https://github.com/tscircuit/dataset-fanout31-am62l).
|
|
288
288
|
The upstream revision is pinned in `scripts/generate-repro/package.json` and
|
|
289
289
|
recorded in every report. Other datasets remain available for regression tests
|
|
@@ -293,14 +293,24 @@ and the debugger, but have no benchmark commands or workflows.
|
|
|
293
293
|
./benchmark.sh
|
|
294
294
|
./benchmark.sh --list
|
|
295
295
|
./benchmark.sh --sample 11-left-center
|
|
296
|
+
./benchmark.sh --sample 13-rk3308-top-left-offset
|
|
296
297
|
./benchmark.sh --concurrency 8 --sample-timeout-seconds 300
|
|
297
298
|
```
|
|
298
299
|
|
|
299
300
|
Before timing the solver, the benchmark renders the selected upstream TSX/core
|
|
300
301
|
circuits and captures their exact fanout-solver constructor inputs into
|
|
301
|
-
`benchmark-results/inputs/<sample-id>.json`. Each case retains
|
|
302
|
-
|
|
303
|
-
|
|
302
|
+
`benchmark-results/inputs/<sample-id>.json`. Each case retains its complete
|
|
303
|
+
SoC fanout workload and the original clearance, differential-pair, and length-skew
|
|
304
|
+
constraints:
|
|
305
|
+
|
|
306
|
+
| SoC | Cases | Signal connections | Plane drops | Total connections | Pad obstacles |
|
|
307
|
+
| --- | ---: | ---: | ---: | ---: | ---: |
|
|
308
|
+
| AM62L | 12 | 33 | 102 | 135 | 573 |
|
|
309
|
+
| RK3308 | 12 | 49 | 113 | 162 | 451 |
|
|
310
|
+
|
|
311
|
+
Both families have nine DDR signal buses. The RK3308 samples use a 355-ball SoC
|
|
312
|
+
and 96-ball DDR3L RAM, with the RAM placed on each side at three offsets.
|
|
313
|
+
The timed workers run
|
|
304
314
|
**this checkout's solver**, not the upstream package's released solver.
|
|
305
315
|
To capture the inputs without solving, use `bun run generate:dataset31`.
|
|
306
316
|
The optional `--dataset dataset31` flag is accepted for explicit CI invocation;
|
|
@@ -335,8 +345,10 @@ are committed so route changes can be reviewed in Git. A run replaces the select
|
|
|
335
345
|
cases' snapshots and removes their stale SVGs if they no longer solve; filtered
|
|
336
346
|
runs preserve unselected snapshots. JSON reports and captured inputs remain
|
|
337
347
|
ignored. CI includes the SVGs in its benchmark artifacts.
|
|
338
|
-
Compare reports with the same budgets to track progress.
|
|
339
|
-
|
|
348
|
+
Compare reports with the same dataset revision and budgets to track progress.
|
|
349
|
+
A case is solved only when every SoC connection has validated fanout: all 135
|
|
350
|
+
connections for AM62L or all 162 for RK3308. This covers the SoC fanout phase; RAM
|
|
351
|
+
fanout and downstream inter-chip routing are separate phases. Partial, error,
|
|
340
352
|
and timeout rows are benchmark results (exit 0); invalid CLI arguments or report
|
|
341
353
|
I/O failures are command failures (nonzero exit).
|
|
342
354
|
|
|
@@ -344,7 +356,7 @@ I/O failures are command failures (nonzero exit).
|
|
|
344
356
|
|
|
345
357
|
Once `.github/workflows/benchmark.yml` is on the default branch, a repository
|
|
346
358
|
writer can comment **`/benchmark`** on an open PR. The workflow captures that
|
|
347
|
-
PR's exact head SHA, runs all
|
|
359
|
+
PR's exact head SHA, runs all 24 dataset 31 samples on a **32-vCPU Blacksmith ARM**
|
|
348
360
|
runner, then updates a status comment with solve totals, per-sample results,
|
|
349
361
|
and a link to the complete JSON/Markdown reports and captured inputs. The Actions
|
|
350
362
|
UI also supports a manual run, optionally supplying an open PR number. No custom
|
|
@@ -510,8 +522,8 @@ bun run render:dataset
|
|
|
510
522
|
bun run start
|
|
511
523
|
```
|
|
512
524
|
|
|
513
|
-
The benchmark runs
|
|
514
|
-
validation, and timing. `bun run start` opens all regression
|
|
525
|
+
The benchmark runs all 24 dataset 31 AM62L and RK3308 cases and reports solve
|
|
526
|
+
counts, validation, and timing. `bun run start` opens all regression
|
|
515
527
|
datasets in the standard tscircuit solver debugger. `bun run
|
|
516
528
|
render:dataset` writes `graphics-debug` PNGs under one subdirectory per dataset,
|
|
517
529
|
with a red shared boundary, gray component courtyards, and green fanout-exit
|