Fix/bench retry bugs#2384
Closed
kali wants to merge 4 commits into
Closed
Conversation
The report flagged reds against the latest nightly value while the bundle's retry compared against the median shipped in expectations — so when they differed a red could appear that was never retried (breaking retry==red). Single-source the baseline in bench_common.reference_value (median of recent non-null) and use it for both the report's reference and the shipped expectation. Median also makes the reference robust to a noisy last nightly.
A superseding PR push cancels the bench via concurrency, but the report job ran on always() with no results and posted a vacuous '0 metrics / no regressions' over the real comment. Gate the report on !cancelled() instead of always(), have bench-report skip writing a comment when there are no comparable metrics, and have the post step skip when no comment file exists.
…iagnosing mac no-retry) Temporary: print EXPECTATIONS path/-s/line-count/pwd before the bench loop, and whether bench_run takes the single-shot or retry path (once). To pin why the macOS runner logs 0 retries despite a present, correct expectations file. Revert once answered.
The cuda runner free-boosts from idle (210MHz) up to its max, and the boost state varies session-to-session, adding ~16% variance to GPU evaltime that the in-run retry can't damp (shared session). Lock the graphics clock for the bench and reset it on exit via a trap. Best-effort (needs privilege, like the CPU governor pin; no-op without nvidia-smi). Defaults to the max supported clock; set BENCH_GPU_CLOCK if that throttles.
|
🔴 Bench vs main — 3 speed regression(s) Reference: main nightly, latest 2026-06-17 (0d old) · PR Speed — evaltime · prefill · decode
🟢 17 improvement(s)
lower is better except prefill/decode (tok/s) · adaptive thresholds (max(floor, k×noise) vs the series' own history) · single-shot vs nightly reference · full table → run summary |
Collaborator
Author
|
you've been RIIRed. |
kali
added a commit
that referenced
this pull request
Jun 17, 2026
Carry the still-relevant fix/bench-retry-bugs fixes into the Rust suite (that PR edits the shell/python files this branch deletes): - single-source the comparison baseline as the median of recent non-null (bench_common::reference_value), used by both bench-expectations and the report, so retry and the PR red judge the same number (retry==red); - report writes no comment when there are no comparable metrics, and the workflow gates the report on !cancelled() + skips posting a missing file, so a superseded run can't overwrite a real comment with 'no regressions'; - pin the GPU graphics clock for the run, reset on drop (cuda free-boost variance), alongside the CPU governor pin. Also build/clippy/test the bench-suite feature in the crates workflow (it is not a default feature, so nothing else compiled it), and add unit tests for the threshold math.
kali
added a commit
that referenced
this pull request
Jun 17, 2026
Carry the still-relevant fix/bench-retry-bugs fixes into the Rust suite (that PR edits the shell/python files this branch deletes): - single-source the comparison baseline as the median of recent non-null (bench_common::reference_value), used by both bench-expectations and the report, so retry and the PR red judge the same number (retry==red); - report writes no comment when there are no comparable metrics, and the workflow gates the report on !cancelled() + skips posting a missing file, so a superseded run can't overwrite a real comment with 'no regressions'; - pin the GPU graphics clock for the run, reset on drop (cuda free-boost variance), alongside the CPU governor pin. Also build/clippy/test the bench-suite feature in the crates workflow (it is not a default feature, so nothing else compiled it), and add unit tests for the threshold math.
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.
No description provided.