Skip to content

Retrigger v7 outputs for 5 cancelled folders (batch 2)#1559

Closed
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:retrigger/batch-2-cancelled
Closed

Retrigger v7 outputs for 5 cancelled folders (batch 2)#1559
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:retrigger/batch-2-cancelled

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Summary

Re-queues five more benchmark folders whose Manifests resolved cleanly under the v7 stack (#1551) but were cancelled by the 24h queue-wait timeout in run 25374549824:

  • benchmarks/AutomaticDifferentiation
  • benchmarks/AutomaticDifferentiationSparse
  • benchmarks/NBodySimulator
  • benchmarks/MultiLanguage
  • benchmarks/NonlinearProblem

Builds on #1558 (batch 1). With #1556 already in master, partial successes will auto-publish.

Mechanism: one-line comment appended to each Project.toml so detect-changed-benchmarks.sh queues them.

Note for review

Please ignore until reviewed by @ChrisRackauckas.

Continuation of the v7-stack-output retrigger campaign begun in PR SciML#1558.
These five folders also had their Manifest.toml regenerated under the v7
stack in PR SciML#1551 but were cancelled by the 24h queue-wait timeout in run
25374549824 without producing artifacts:

  - AutomaticDifferentiation
  - AutomaticDifferentiationSparse
  - NBodySimulator
  - MultiLanguage
  - NonlinearProblem

This PR is a no-op apart from a comment line in each Project.toml — its
sole purpose is to mark these folders as "changed" so detect-changed-
benchmarks queues them for the matrix. With SciML#1556 (publish-gate relax)
already merged, the successful folders' outputs will publish even if one
or two in this batch fail.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Superseded — closing this 'trigger comment' PR in favor of clean per-folder PRs with real content changes (compat bumps, manifest regens, or actual benchmark fixes) instead of the hack # CI retrigger lines. Replacement PRs incoming. Sorry for the noise.

ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SciMLBenchmarks.jl that referenced this pull request May 22, 2026
amdci3-1 corrupts its workspace under rapid dispatch — when 2+ jobs arrive
within seconds, all but one die with errors like:

  ##[error]Missing file at path: ..._runner_file_commands/set_output_...
  ##[error]Can't find action.yml under .../_actions/actions/checkout/v6
  ##[error]The operation was canceled.

Single jobs on the runner run cleanly; the bug is purely
concurrency-on-the-same-runner. Reproduced 3 times now:

  1. Original 25374549824 v7 run: 3 jobs cancelled-mid-checkout in seconds
  2. 2026-05-16 07:58 UTC burst: 6 jobs from PRs SciML#1559/SciML#1560/SciML#1561
     dispatched to amdci3-1, all but one corrupted (StiffODE — which had
     been cleanly running for 16h — also got cancelled in the cascade)
  3. 2026-05-16 08:31 UTC burst: all 5 single-folder PRs SciML#1563-SciML#1567
     dispatched simultaneously, all 5 corrupted within seconds

Splitting into per-folder PRs (per Chris's direction) doesn't help when
multiple PRs are opened together — cross-PR dispatch hits the same race.

Fix: job-level concurrency with a constant group + cancel-in-progress:false
makes every matrix entry across every Benchmarks workflow run queue behind
any other in-flight matrix entry. detect-changes / manual-matrix / publish
jobs are unaffected (they're separate GHA jobs).

Adds max-parallel: 1 to the matrix as defense-in-depth — within a single
run, matrix entries already serialize via the concurrency group, but
max-parallel makes it explicit.

Throughput cost: even with two healthy runners (amdci1-1 + amdci3-1),
only one benchmark job runs at a time. Acceptable given the alternative
is a ~60% job-loss rate. Can be relaxed once the runner bug is fixed —
e.g. parameterize the concurrency group by matrix.runner to allow one
job per runner.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SciMLBenchmarks.jl that referenced this pull request May 22, 2026
The NBodySimulator/liquid_argon.jmd weave job ran for ~47h on amdci1-1
under the v7 stack before the runner workspace was reaped mid-run
(observed in PR SciML#1559, run 25912449328, job 76160856440). Chunk 5
(`run_benchmark!(symplectic, 10 τs, t=40)`) alone accounted for the
bulk of the runtime. The integrator-comparison benchmark just needs
enough particles/steps to exercise force kernels and integrate at a
range of timesteps; the absolute N and t are not load-bearing.

Reduce the workload in both .jmd files so the suite finishes in a
sensible window:

  - liquid_argon.jmd:      N=350 → 128, t=40.0 → 10.0
  - liquid_argon_long.jmd: N=350 → 128, t=200.0 → 50.0

Net work reduction is roughly (350/128)² × (40/10) ≈ 30× for the
short suite and ≈ 30× for the long suite. The hardcoded
`c_symplectic` / `c_adaptive` cost ratios remain valid since they
are per-step ratios normalised to VelocityVerlet, essentially
N-independent.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
ChrisRackauckas-Claude pushed a commit to ChrisRackauckas-Claude/SciMLBenchmarks.jl that referenced this pull request May 31, 2026
The NBodySimulator/liquid_argon.jmd weave job ran for ~47h on amdci1-1
under the v7 stack before the runner workspace was reaped mid-run
(observed in PR SciML#1559, run 25912449328, job 76160856440). Chunk 5
(`run_benchmark!(symplectic, 10 τs, t=40)`) alone accounted for the
bulk of the runtime. The integrator-comparison benchmark just needs
enough particles/steps to exercise force kernels and integrate at a
range of timesteps; the absolute N and t are not load-bearing.

Reduce the workload in both .jmd files so the suite finishes in a
sensible window:

  - liquid_argon.jmd:      N=350 → 128, t=40.0 → 10.0
  - liquid_argon_long.jmd: N=350 → 128, t=200.0 → 50.0

Net work reduction is roughly (350/128)² × (40/10) ≈ 30× for the
short suite and ≈ 30× for the long suite. The hardcoded
`c_symplectic` / `c_adaptive` cost ratios remain valid since they
are per-step ratios normalised to VelocityVerlet, essentially
N-independent.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants