Skip to content

Per-component convergence diagnostics: write_nd trajectory and run log #314

Description

@neuromechanist

From the epic #278 feature-parity audit (Fortran-coverage pass). Two related reporting gaps vs amica15.f90, unrecorded:

  • write_nd (amica15.f90:658, 1760-1761, output at 2398-2429): the per-component, per-iteration squared-gradient trajectory. pamica exposes only the scalar RMS aggregate (ndtmpsum feeding the min_nd stop); the legacy NumPy backend keeps a public per-iteration nd list that torch/MLX lack. Diagnosing WHICH sources converge slowly is not possible on the primary backends.
  • Per-iteration run log (Fortran's outstep-gated console + unit-20 log line: iter/lrate/LL/nd/Dsum/timing-ETA, amica15.f90:1005-1012): pamica's verbose tqdm shows LL/lrate only, and no on-disk log exists on any array backend.

Also from the audit, for the record when this is picked up: .context/feature_parity.md's "History tracking ... grad norms" row implies a tracked gradient-norm trajectory that does not publicly exist on torch/MLX. Scope decision (port, partial, or record-as-deliberate) left open.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions