Repository navigation
Conversation
Tokha233
requested review from
AgainstEntropy,
BBuf,
HaiShaw,
kevin-mii,
mickqian,
niehen6174,
ping1jing2 and
yichiche
as code owners
October 3, 2026 07:37
This was referenced Oct 3, 2026
This was referenced Oct 3, 2026
This was referenced Oct 10, 2026
This branch has not been deployed
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.
Motivation
The AMD diffusion unit step in #42249 hit its 30-minute limit. Its existing nine
test_performance_failure_survives_real_pytest_runnercases consumed about 1,366.5 s between consecutive log timestamps (job). Each case launches an independent runner with seven pytest attempts, repeatedly importing the diffusion stack: 63 pytest startups in total. This is a major cost in the existing suite; #42249's four cold imports separately add about 47.5 s on this runner and are kept intact.Modifications
Parameterize the nine scenarios inside the generated child test module. One real runner now executes all nine independent pytest items over the original seven attempts, reducing pytest startups from 63 to 7 while preserving seven executions of every scenario.
For every scenario, require seven request/LoRA/retained-metric markers, a failed runner result, and a final JUnit failure containing
[performance]. Also check the independent infrastructure timeout's JUnit failure and the exact set of collected cases. Each item retains its own monkeypatch and temporary-directory fixtures. The exhaustion test clears an inherited retry deadline; separate deadline/budget tests continue to check one-attempt exhaustion and preservation of failures.Only this test file changes. Production inference, retry policy, six-retry limit, CI timeouts, and performance thresholds are unchanged.
Accuracy Tests
No model output changes. Test coverage validates the real performance validator, request loop, subprocess runner, retry classification and final JUnit results. Validation used isolated trees of upstream
00bcc25and this candidate, each with all 4,126 Python files hash-checked (zero mismatches or extra files).On the same isolated test host:
00bcc25The outer count decreases by eight because the original nine outer parametrizations become one integration test containing nine child pytest items. Every scenario still executes seven times, with per-case assertions. Existing retry recovery and budget-preservation tests also pass. Repeating the complete candidate file with
SGLANG_DIFFUSION_RETRY_DEADLINE=1also passes all 17 tests (119.36 s whole command), confirming the exhaustion test is isolated from the outer runner budget.Speed Tests and Profiling
Whole-command time decreased 86.8% (7.57×) in this same-host comparison. The nine original integration durations total 873.93 s; the batched integration takes 103.34 s. This is one before/after comparison, not a stability distribution. The local test host is RTX 5090 D v2, Python 3.12, PyTorch 2.13.0+cu130; this is not an AMD rerun or an inference-speed claim. Native AMD CI remains needed to confirm that the complete unit step finishes within its unchanged budget; other known AMD failures are outside this patch.
Checklist
CI States
Latest PR Test (Base): ❌ Run #37106959367
Latest PR Test (Extra): ❌ Run #37106959275
Latest PR Test (AMD ROCm 10): ❌ Run #37106959383