Repository navigation
SEP 38: performance tracking — complete runs, about an hour per machine - #32
Merged
Merged
Conversation
…nner Replace the standard benchmark runner with python -m benchmarks track: the tracking set's complete runs, each in its own worker with the library's default integrator and tolerances and a fixed noise seed, timed through the driver's run loop after an untimed warm-up, at one thread and the production width. A hardware slug (CPU model and cores, no host name) names a history CSV under benchmarks/history/. ab moves onto the same worker and gains --length. Every SEP 30 case stays runnable by name; standard mode, references, native coverage, export and the batch exercise are removed with their tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… counts each core Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…P 38) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its coupled launch translates the run when it is built, so the save planes and an integrator override cannot be set afterwards. A slow test covers it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Documentation build overview
113 files changed ·
|
… fewer Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…; a threading option The Kerr beams cost the same per fixed step, so four steps track the same work in a third of the time (revision 2). lscpu names Arm cores, whose /proc/cpuinfo has no model name, and the registry names Windows processors. --threading picks OpenMP placement and waiting; the policy is a history column and part of what rows compare by. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
History rows now compare by threading, tolerances and noise model as well as the integrator, and summaries show the change against the first and previous runs with the configurations shared. Only a complete default run of committed code, timing this checkout's src with a native build of the same commit, is recorded; each repeat must take the same steps and reach the same final field. Older history files gain new columns; dirty and case-hash columns are added. The slug counts the production width and names a cloud family; the busy flag judges by CPU use where swap is not reported; Kokkos tool libraries are stripped and each worker's environment is saved; results are rewritten after every worker. Tests cover the refusals, migration and a native smoke run. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ly when native/ changed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each case runs once on the device with the production width of host threads; the history names the hardware by its GPU, records the device memory the run holds and keeps device rows apart from CPU rows. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Free space now has a default controller and no noise, so the free-space cases take the library's controller and pass no seed. SEP 37's links point at its archive, and Q1 closes: the capillary default stayed as calibrated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jtravs
changed the base branch from
docs/sep-0037-noise-and-stepper-defaults
to
main
October 27, 2026 12:14
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…perseded The default and bound threading policies spell out the runtimes' own waiting, so the native backend's passive default (#33) cannot change what they measure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jtravs
marked this pull request as ready for review
October 27, 2026 14:24
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.
SEP 38 (Final): replace SEP 30's standard benchmark runner with a release-tracking command. SEP 37 (#30) is merged into the branch and the PR targets
main; SEP 30 is marked Superseded. Since the draft: a--devicemode (run end to end on an NVIDIA A40), thepassive-boundthreading policy, and threading policies that spell out their waiting so #33's library default cannot change them.What changes
python -m benchmarks tracktimes complete runs of 13 representative cases at one thread and the production width. Each configuration runs in its own worker: build, translate, an untimed warm-up over 2 % of the guide, then 3 timed runs throughrun_problem(the loop ofSimulation.run).--stepper default,multistep,multistep-interaction,rkselects steppers for A/B comparisons.--append-historywritesbenchmarks/history/<hardware>.csv. The hardware is named by CPU model and core count, never by host name.historysummarises the file.abnow uses the same worker and gains--length FRACTION.docs/dev/benchmarking.md), the rules (docs/dev/benchmarks.md), the SEP index, roadmap and changelog.Calibration
One complete default run on 16 cores of an AMD EPYC 7763 node took about 50 min for 22 configurations. Repeats agree within 0.7 % on most cases. The full table is in the SEP's phase 1 report.
For review
ctcrun longer or also at one thread?Checks
benchmarks/.-W.🤖 Generated with Claude Code