Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
309a566
Add portable managed three-arm fiber layout benchmark
hendrikschilling Oct 22, 2026
f2c71a4
Recover reusable chunk tracing filters, CUDA backend and native pooling
hendrikschilling Oct 22, 2026
a499f56
Expose recovered tracing through generic evaluation and benchmark APIs
hendrikschilling Oct 22, 2026
24b887f
Harden benchmark provenance, loss validation and GPU lane resolution
hendrikschilling Oct 22, 2026
ba5e34e
Restore global fiber workflows, diagnostics, and regression coverage
hendrikschilling Oct 22, 2026
b153632
Fix cold CUDA chunk tracing memory access and reduction synchronization
hendrikschilling Oct 22, 2026
d259376
Restore historical replay seed selection and cutoff semantics
hendrikschilling Oct 22, 2026
c0f2728
Fix restored fiber reporting and reference snapshot validation
hendrikschilling Oct 22, 2026
0761c92
Merge branch 'main' into trace-recovery
hendrikschilling Oct 22, 2026
f91e46f
Exclude local planning documents from tracing recovery PR
hendrikschilling Oct 22, 2026
29f90ee
Separate reusable fiber workflows from experiment recipes
hendrikschilling Oct 22, 2026
17ea53f
Merge current main and preserve generic workflow documentation
hendrikschilling Oct 22, 2026
220d988
Merge remote-tracking branch 'origin/pr-2233' into main-fiber-layout-…
hendrikschilling Oct 22, 2026
cfd3cbc
Keep merged tracing documentation and test descriptions generic
hendrikschilling Oct 22, 2026
4dc6d54
Fix chunk GPU bridge logging build on macOS libc++
hendrikschilling Oct 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Python venvs, IDE files, build artifacts
/local/
/task.md
/experiments/
/global-fiber-sgd
**/.venv*/
**/.idea/*
**/__pycache__/
Expand Down
18 changes: 18 additions & 0 deletions vesuvius/docs/examples/fiber_workflows/gt_width_regression.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"fiber_gt_convergence_probe": {
"source": "/data/fiber-layout/gt-initialization",
"reference": "/data/fiber-layout/gt-winding-reference.json",
"output_root": "/data/fiber-layout/results/gt-width-regression",
"devices": "0",
"gpu_manager": {
"exclusive": false,
"cpu_cores": 4,
"vram_bytes_per_gpu": 4294967296,
"label": "gt-regression"
},
"trials": [
{"name": "control", "checkpoint": "/data/fiber-layout/gt-initialization/solution.npz", "optimize": "joint", "steps": 100},
{"name": "perturbed", "checkpoint": "/data/fiber-layout/gt-initialization/solution.npz", "initial_width_scale": 1.2, "optimize": "joint", "steps": 100}
]
}
}
10 changes: 10 additions & 0 deletions vesuvius/docs/examples/fiber_workflows/joint_gt.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"fiber_joint_gt_eval": {
"baseline_root": "/data/fiber-layout/prepared",
"base_config": "/configs/fiber-layout/base.json",
"gt_root": "/data/fiber-layout/gt",
"output_root": "/data/fiber-layout/results/joint",
"force_gt_enabled": true,
"devices": "1"
}
}
13 changes: 13 additions & 0 deletions vesuvius/docs/examples/fiber_workflows/json_pipeline.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"fiber_json_solve": {
"source_dir": "/data/fiber-layout/reviewed",
"afv_template": "/data/fiber-layout/metadata.afv",
"expected_manifest_tokens": ["YOUR_VOLUME", "YOUR_SCAN"],
"output_root": "/data/fiber-layout/prepared",
"stages": [
{"name": "extraction", "config_file": "/configs/fiber-layout/extraction.json"},
{"name": "orientation", "config_file": "/configs/fiber-layout/orientation.json"},
{"name": "layout", "config_file": "/configs/fiber-layout/layout.json"}
]
}
}
14 changes: 14 additions & 0 deletions vesuvius/docs/examples/fiber_workflows/neighbors.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"fiber_neighbor_expansion": {
"seed_solve": "/data/fiber-layout/results/joint/solve",
"parent_tensors": "/data/fiber-layout/whole-sources/tensors.npz",
"afv": "/data/fiber-layout/sources.afv",
"gt_root": "/data/fiber-layout/gt",
"z_range": [30000, 50000],
"extract_template": "/configs/fiber-layout/extract.json",
"orient_template": "/configs/fiber-layout/orient.json",
"output_root": "/data/fiber-layout/expanded",
"confidence": 0.5,
"devices": "0"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"fiber_selected_dataset_eval": {
"dataset": "/data/fiber-layout/selected",
"base_config": "/configs/fiber-layout/base.json",
"gt_root": "/data/fiber-layout/gt",
"output_root": "/data/fiber-layout/results/free",
"devices": "0"
}
}
21 changes: 21 additions & 0 deletions vesuvius/docs/examples/fiber_workflows/split_search.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"fiber_split_weight_search": {
"base_config": "/configs/fiber-layout/base.json",
"dataset": "/data/fiber-layout/selected",
"baseline_root": "/data/fiber-layout/prepared",
"gt_root": "/data/fiber-layout/gt",
"output_root": "/data/fiber-layout/search",
"devices": ["0", "1"],
"initial_parameters": {"rejection_cost": 1, "continuation_weight": 1, "split_min_perpendicular": 3},
"weights": ["rejection_cost", "continuation_weight", "split_min_perpendicular"],
"bounds": {"rejection_cost": [0, 10], "continuation_weight": [0, 10], "split_min_perpendicular": [2, 6]},
"factor_grids": [[0.5, 2], [0.9, 1.1]],
"discrete_values": {"split_min_perpendicular": [2, 3, 6]},
"proposal_groups": [{
"name": "joint_costs",
"axes": [{"parameters": ["rejection_cost", "continuation_weight"], "mode": "factor", "values": [0.5, 2]}]
}],
"accepted_improvements": null,
"background": false
}
}
7 changes: 5 additions & 2 deletions vesuvius/docs/fiber_layout.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

This extracts the existing AFV-to-constraint and fiber-layout implementations.
Inputs and earlier stage solutions are immutable; preparation records source
identities, hashes and coordinate conventions. Experiment matrices, run-specific
configs/data and layout-to-Lasagna surface reconstruction are not included.
identities, hashes and coordinate conventions. Preparation, search, experiment
matrices, diagnostics and tifxyz surface export are documented in
[fiber-layout workflows](fiber_workflows.md). Run-specific configs and data are
external; portable usage samples are included.

## Native fixed evidence

Expand Down Expand Up @@ -53,6 +55,7 @@ see [the N/U coordinate contract](fiber_layout_coordinates.md). Integer-label
curves are not evaluated at a fractional distribution center, and old saved
geometry is not silently reinterpreted. Reference alignment is global, not a
per-fiber fit. Ordered evidence and family conventions are persisted.
An [initialization-width prior must not be reintroduced](fiber_layout_no_width_prior.md).


`fiber_gt_constraint_score.run(settings)` can build cross-reference event caches
Expand Down
23 changes: 5 additions & 18 deletions vesuvius/docs/fiber_layout_benchmark.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,21 +131,8 @@ Tests mock GPU launches. Actual data replay requires the prepared tensors,
initializers/samples, frozen GT, cached cross-events, and historical reports;
these large artifacts are not bundled. No installation or bootstrap is done.

Real-data compatibility check (2026-10-22): replaying the historical accepted
candidate `a838956dd140d329e78f` through the new scorer reproduced all three
recorded perpendicular/parallel scores and sign counts (L1/correctness tolerance
1e-10). Summed perpendicular signs: 38; selectable GT retained length: 95.315808%;
rank score: 39.867469; summed perpendicular L1: 1.023098. This checks the scoring
API against real checkpoints, **not** convergence of new solves on main.

Review-fix validation (2026-10-22): all 14 recorded final loss terms and all
other final scientific fields match for each of the three historical checkpoints.
The same scores above are reproduced with the stricter checks. Auditing the
170/171/170 source settings and the solver's prepared configs found no scientific
setting changes versus the historical executed configs; differences are output
paths, GPU lanes/labels, and code-provenance metadata. The L-BFGS, geometry and
loss implementations were also compared against the historical solver revision
`4a35bf9e18c3` (and the last experiment branch `d8f8c3595`): objective calculations
are unchanged. Changes in the merged entrypoint modules concern launch dispatch,
moved imports and removal of experiment-only dispatch/audits. No fresh GPU solve
was run for this review-fix check.
For a read-only compatibility check against caller-supplied saved checkpoints,
set `FIBER_LAYOUT_REFERENCE_SPEC` to a benchmark specification and run
`vesuvius/tests/test_fiber_workflows_real_data.py`. This recomputes scores and
full-objective terms without running optimization. Keep experiment-specific
measurements and checkpoint identities with the external results, not here.
14 changes: 14 additions & 0 deletions vesuvius/docs/fiber_layout_no_width_prior.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# No initialization-width prior

Initialization widths are guesses, not observations. **Do not re-add a loss
pulling fitted winding widths toward initialization**, including a radius-based
initialization. Do not expose such a term to tuning or restore it from a recipe.

The former `width_prior * mean((width / initial_width - 1)^2)` is deleted from
the soft/probability objective, legacy layout solver and diagnostic objective.
Nonzero legacy settings are rejected. Zero-valued historical settings remain
readable but have no loss implementation.

Width smoothness and the soft minimum-width penalty are separate, valid terms.
Initialization may supply starting values and numerical scales, never a target
fitted width. Historic results with the deleted prior are not valid baselines.
Loading
Loading