feat(solver): add 3D XLB recovery surrogate#118
Draft
andrinr wants to merge 2 commits into
Draft
Conversation
Contributor
📊 View the full benchmark resultsNo benchmarks ran for this PR, so there is no status report. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This stacked draft adds a task-specific differentiable solver for the existing
3D initial-condition recovery benchmark:
v0 -> u(T)prediction, not a one-step/autoregressive rolloutN=16,nu=0.01,dt=0.02, 100-step, triply-periodic contractcode remain outside the repository
This PR is stacked on #117 because both solvers share the
navier-stokes-gridTesseract family. Cross-suite exclusions prevent eithertask-specific solver from entering the other dimensionality or general sweeps.
The canonical drag output is zero: this periodic 3D task has no obstacle and
there is no learned drag head.
Offline teacher selection
All experiments used the same shared Mosaic Slurm runner and Pyxis/Enroot image
path as the solver-in-the-loop work, on RTX 5090 GPUs. No hosted benchmark was
run. Exact-cell warm in-process medians:
XLB is therefore the training teacher.
Training provenance
|k|=2shell withbroader divergence-free spectra mixed in
0257c89ec3a8f4886f81960cc6867a24278de8b35b745cc98c6a1471ca3f6b8a46432889c24aa8b4e6e1f1a4bf0d1c40b866930f56cfed86157d92d42ef107ee8669ebaf92d920668c945b04722021fef12d5fc6fa4aa182abc63c81780ed0c9Held-out fields and derivatives
On the three excluded benchmark ICs:
The random-white tangent probe is deliberately harsher than the low-frequency
recovery manifold; held-out training-distribution directional-JVP relative
error is approximately 15%.
Exact projected-L-BFGS recovery
This is the existing
optimization/recovery_constant_ic_bfgs_projcell, unmodified: zeroinitialization, 100 iterations, seeds 0/1/2, and each solver generating and
inverting its own final field.
Mean final-field MSE is
2.58e-8for XLB and5.33e-8for the surrogate.Both complete all 100 iterations and pass the registered recovery threshold.
Timing: kernel versus harness
The harness speedup is intentionally reported separately. HTTP/RPC, host
callbacks, L-BFGS bookkeeping, Helmholtz projection, line search, serialization,
and synchronization dominate this small
N=16cell; kernel accelerationtherefore cannot translate one-for-one to end-to-end acceleration.
Jacobian conditioning
The full-output Jacobian
d u(T) / d v0was evaluated at seeds 0/1/2 on thecomplete 512-dimensional real divergence-free Fourier subspace through
|k| <= 4(both transverse polarizations and sine/cosine phases; mean andlongitudinal modes excluded). This is the recovery-relevant subspace, not a
claim about every Nyquist-scale direction.
kappa(J)kappa(J)kappa(J^T J): 47.17 XLB, 43.09 surrogateNegative result: surrogate inversion of XLB observations
Self-recovery does not establish that the surrogate can invert an
XLB-generated observation. I ran that cross-model test separately: the targets
come from XLB, while projected L-BFGS differentiates through the surrogate.
The optimizer exploits surrogate model error after roughly 15 iterations:
surrogate-space loss keeps falling while the recovered IC moves away from the
truth. This checkpoint is a useful self-consistent benchmark solver, but it is
not yet a drop-in inverse model for XLB observations.
Validation and artifacts
4 passedbenchmark:noneSupporting data: artifact index,
manifest and job IDs,
held-out field/JVP evaluation,
conditioning spectra,
XLB recovery envelope,
surrogate recovery envelope,
and cross-model recovery.