Skip to content

vmec-jax v0.0.13

Choose a tag to compare

@rogeriojorge rogeriojorge released this 23 May 19:12

vmec-jax v0.0.13

This release closes the v0.0.13 performance, parity, packaging, and docs lanes.

User-facing changes

  • Plain pip install vmec-jax now includes the plotting and Boozer-coordinate dependencies needed by the documented examples.
  • The public API exports plot_wout, matching the README and API docs.
  • Quickstart WOUT plotting examples now point at the tracked pressure fixture.
  • GPU high-mode non-LASYM cases keep the precomputed tridiagonal preconditioner policy used by the primal solve through exact accepted-point replay.

Performance and correctness

  • Exact accepted-point replay now records and reuses the preconditioner tridiagonal policy, including replay cache-key separation for different tridiagonal paths.
  • Added coverage for high-mode non-LASYM precomputed-tridi propagation and equivalence.
  • Verified that the experimental jax.lax.linalg.tridiagonal_solve path is not ready to promote as a default: it was slower on the QH warm-start GPU test.

Validation

  • Local full fast coverage gate: 2196 passed, 20 skipped, 109 deselected, 1 xfailed, coverage 95.09%.
  • Local full docs build passed with warnings as errors.
  • Local package build and twine check passed.
  • Local slow exact replay checks passed: 2 passed.
  • Local VMEC2000 executable fast validation passed: 5 passed.
  • Main CI for the release commit passed before tagging.

Known limitations

  • Seed-robust QI for NFP=4 remains a research/optimization lane rather than a guaranteed arbitrary-seed workflow.
  • Some external VMEC2000 parity rows remain optional, skipped, or xfailed where documented because they require external assets, mgrids, or unresolved near-zero LASYM-channel differences.
  • Remaining performance work is concentrated in cold exact tape/forward-force cost, accepted-point tangent construction, scan-trial timing instrumentation, and GPU kernel/launch overhead for preconditioner application.