Skip to content

Fix CUDA scaling timing stability gate - #31

Merged
stefan-jansen merged 1 commit into
mainfrom
fix/cuda-scaling-timing-gate
Aug 7, 2026
Merged

stefan-jansen merged 1 commit into
mainfrom
fix/cuda-scaling-timing-gate

Conversation

@stefan-jansen

Copy link
Copy Markdown
Contributor

What changed

  • treats repeated fit timing as unstable only when it exceeds both the 2x ratio and a one-second absolute allowance
  • adds a regression test for the subsecond timing spread observed on the RTX 3090 main-branch run

Root cause

The repeated-performance checker used only a relative ratio once a sample reached 100 ms. A short scheduler pause changed SDF timings from roughly 0.12-0.24 seconds to 0.50-0.68 seconds, which failed the ratio despite exact replay and passing within-run scaling checks.

Impact

Subsecond CUDA measurements no longer fail because of normal scheduling jitter. Material timing drift remains blocking: the existing 1-to-3 second regression still fails.

Validation

  • replayed the checker against all retained canonical and scaling JSON/NPZ evidence from main run 31179548766
  • 404 source tests passed
  • Ruff, Ruff format, ty, and pre-commit passed

@stefan-jansen
stefan-jansen marked this pull request as ready for review August 7, 2026 13:06
Copilot AI lite review requested due to automatic review settings August 7, 2026 13:06
@stefan-jansen
stefan-jansen merged commit 6aff4aa into main Aug 7, 2026
21 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR stabilizes the CUDA performance “scaling timing” gate by requiring both a relative (ratio) and absolute (seconds) drift threshold before repeated-fit timings are considered unstable, preventing subsecond scheduler jitter from failing CI.

Changes:

  • Update the repeated-fit timing instability check to require >2x and >1s spread before failing.
  • Add a regression test that covers the observed subsecond timing spread scenario.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
scripts/ci/check_performance.py Tightens the instability condition by combining ratio and absolute timing-spread thresholds.
tests/test_release_candidate.py Adds a test ensuring subsecond timing jitter does not trip the performance checker.
Suppressed comments (1)

scripts/ci/check_performance.py:52

  • The timing-range assertion message no longer reflects the actual gate condition. The check now requires both exceeding the ratio and exceeding the absolute allowance, but the error only mentions the ratio, which can mislead debugging when this fails in CI.
            raise AssertionError(
                f"{name} fit timing range exceeded {MAX_TIMING_RANGE}x: {fit_times}"
            )

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@stefan-jansen
stefan-jansen deleted the fix/cuda-scaling-timing-gate branch August 11, 2026 15:58
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