Shared IMU evaluation: a measured 2x target miss¶
The native screw_linear fitter now shares a gyro factor's integral between
its residual and mounting-rotation Jacobian. Previously a mounted factor
integrated the same samples three times per linearization. Objective and IMU
RMSE evaluation now compute values without knot/calibration derivatives or
the accelerometer's perturbed clock sample. The gyro product order, force
prediction, sampled clock derivatives, weighting and stopping rules stay fixed.
This removes redundant execution while preserving complete numerical results. It does not meet the declared 2x whole-API target. The three-seed paired median is 1.452x for the complete joint API and 1.292x including fresh-worker startup and output. This is an incremental CPU optimization. It is not a new GPU result, an independent accuracy study, or evidence of a large new speedup.
Frozen comparison¶
| Item | Value |
|---|---|
| Baseline | 0f76b0ec6bda2d975ea58d4b4bbd52d174892dae |
| Numerical candidate | 6db6df77403461e86813c5c6f207cd7c9943a24e |
| Cases | Already-spent synthetic LiDAR–IMU seeds 20261010, 20261011, 20261012 |
| Order | Baseline, candidate, candidate, baseline, baseline, candidate |
| Execution | Six fresh CPU workers, one BLAS thread, no warmups, unreserved host |
| Whole-API target | Paired median at least 2x; missed |
The maintained joint-recovery worker includes fitting, covariance, holdout metrics, separability and all 32 signed controls in its API interval. Imports, source checks, JSON serialization and process startup/exit are included in the fresh-worker interval. Parent source preparation is outside both intervals. Input/options and full fitted/native payload hashes omit only their top-level provenance, which remains retained separately. No data was downloaded.
| Seed | Complete API ratio | Fit ratio | Fresh-worker ratio |
|---|---|---|---|
| 20261010 | 1.452x | 1.388x | 1.292x |
| 20261011 | 1.384x | 1.357x | 1.236x |
| 20261012 | 1.509x | 1.452x | 1.353x |
| Paired median | 1.452x | 1.388x | 1.292x |
API medians across the three observations are 12.155 s baseline and 8.748 s candidate; fit medians are 10.329 s and 7.609 s. The table uses medians of paired ratios, rather than dividing these marginal medians. All three complete inputs/options, fitted results and native outcomes match exactly between variants, including covariance, final gradient, status, accepted iterations, holdouts and controls. Fits retain 21/23/29 iterations. These results cannot be multiplied by earlier published ratios or generalized to public recordings.
Correctness and replay¶
New regression tests compare the previous gyro and force expressions at nonidentity and identity mounting rotations, nonunit scales, nonzero clock offset, nonuniform sample times, zero/tiny increments, clamped accelerometer stencils and knot boundaries. They verify bit equality of all factor blocks, one integration per linearized gyro factor, fresh state between calls, derivative-free objective/RMSE evaluation, complete fitted payloads and the sparse matrices produced across multiple updates and damping settings. Public signatures and serialized schemas are unchanged.
The complete evidence retains all six workers, every full input/options/result, both 401-module source capsules, the original benchmark toolchain, result schemas, source tests and producer. Replay its bindings and whole-result comparisons without running calibration:
python tools/benchmark_screw_imu_evaluation.py --archive docs/assets/screw_imu_evaluation/complete-evidence.tar.gz
Exit 2 reports the retained 2x target miss. It is distinct from a corrupt or incomplete evidence error. The archive reader imports no archived calibration code and rejects unsafe paths, duplicate members and digest mismatches.
To run a new development comparison from committed sources, choose a fresh output directory:
python tools/benchmark_screw_imu_evaluation.py --baseline-commit 0f76b0ec6bda2d975ea58d4b4bbd52d174892dae --output outputs/new-imu-comparison
The remaining work is structural batching of trajectory/measurement evaluation and the numerical stopping audit described in the fixed-budget reliability plan. This execution cleanup does not resolve the mixed-unit stopping criterion or the known finite-difference clock sensitivity.