Skip to content

Test - Check that threaded perturbed-equilibrium loops match serial #479

Description

@jhalpern30

Problem

CI never sets a thread count, so every @threads loop in PerturbedEquilibrium/SingularCoupling.jl, PerturbedEquilibrium/FieldReconstruction.jl and KineticForces/Compute.jl runs on one thread. The regression harness caches results by commit, not by thread count, so it cannot catch a race either.

Ask

  • Add a test that runs a small multi-n PerturbedEquilibrium (PE) case at 1 thread and at more than 1. It should assert that the singular-coupling rows and the reconstructed fields are bit-identical. diiid_multi_n exercises the repeated-surface path, but a small Solovev multi-n PE case would be cheaper.
  • Run that test in CI with more than one thread (e.g. JULIA_NUM_THREADS=2).

Also missing (could be split out)

PE currently stops only when force_termination is set. It should also refuse to run when:

  • the plasma is unstable (et[1] < 0);
  • the stability run used a wall (wall_settings is not nowall).

Follow-up to #334 and #477.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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