Repository navigation
[CI] Add a unified-memory rerun test group - #40147
Merged
ch-wan merged 1 commit intoSep 18, 2026
Merged
Conversation
The unified memory pool's tests sit in a dozen directories -- allocator and pool units under `unit/mem_cache/`, but also the PD move gate, the prefill adder, the pool configurator, the server-arg gates, the page-major and Kimi-Linear e2e runs, and three PD disaggregation e2e cases. There is no way to ask for "the unified memory tests", so a change to the allocator gets rerun by directory and the rest is found later, or not at all. `scripts/ci/rerun_test_groups.json` already supports a named cross-directory file set next to the directory-derived groups, so this adds `unified-memory` with the 44 files that either import the pool/allocator modules, launch a server with `--enable-unified-memory`, or set `enable_unified_memory=True`. `/rerun-group unified-memory` now expands to all of them. Three files that match on text are deliberately out: `test_linear_attn_config` exercises the `enable_unified_memory=False` branch, `test_mamba_state_scatter_triton` only names the pool in prose, and `test_unified_radix_cache_kl_mamba` belongs to the unified *radix tree*, a different subsystem that shares the prefix. No test accompanies the manifest: `resolve_test_group_specs` already refuses a group whose files have moved and names each missing path, `test_rust_server_group` covers that code path, and the group dispatches rather than gates -- a stale entry makes one command report an error, it cannot turn a run green. Verified against the real resolver: 44 specs, no error, `rust-server` unchanged, and an unknown group still rejected with the new name listed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ch-wan
force-pushed
the
cheng/ci-unified-memory-test-group
branch
from
September 18, 2026 08:49
49e22b7 to
5bd5278
Compare
Collaborator
Author
|
/rerun-group unified-memory |
Contributor
|
Results for 🚀 🚀 🚀 🚀 🚀 🚀 |
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 unified memory pool's tests sit in a dozen directories. The allocator and pool units are under
unit/mem_cache/, but so are the PD move gate (unit/disaggregation/), the prefill adder and scheduler init (unit/managers/), the pool configurator (unit/model_executor/), three server-arg gates (unit/server_args/), the page-major and Kimi-Linear e2e runs, and three PD disaggregation e2e cases.There is currently no way to ask for "the unified memory tests". In practice a change to the allocator gets rerun by directory, and the rest is found later or not at all — I hit exactly this while reviewing #39477: after touching
UnifiedMLATokenToKVPoolI reranunit/mem_cache/and missed the MLA views, GPU parity, and handout-zeroing tests that cover the same class.Modifications
scripts/ci/rerun_test_groups.jsonalready supports a named cross-directory file set alongside the directory-derived groups (resolve_test_group_specschecks the manifest first, then falls back totest/registered/<name>/). This adds aunified-memorygroup with the 44 files that eithersglang.srt.mem_cache.unified_memory_poolor anallocator.unified_*module,--enable-unified-memory, orenable_unified_memory=True./rerun-group unified-memorynow expands to all of them.Three files that match on text are deliberately excluded:
unit/layers/attention/test_linear_attn_config.pyenable_unified_memory=Falsebranchunit/layers/test_mamba_state_scatter_triton.pyradix_cache/unified_radix_tree/test_unified_radix_cache_kl_mamba.pyTest plan
No test accompanies the manifest, deliberately.
resolve_test_group_specsalready refuses a group whose files have moved and names each missing path,test_rust_server_groupcovers that code path, and the group dispatches rather than gates — a stale entry makes one command report an error, it cannot turn a run green.Verified against the real resolver (not just the JSON):
python -m pytest test/registered/unit/tools/test_slash_command_handler.py→4 passed. pre-commit clean.Notes for reviewers
No CI wiring changes — this only affects what
/rerun-groupexpands to, so nothing runs differently until someone asks for it.The group spans four lanes by design: 30 CPU units (~5 min total), 4 GPU units, and 10 e2e cases, two of which are 900–1200s PD runs. If that is too coarse for a single command, the natural split is
unified-memoryfor the units andunified-memory-e2efor the server-backed ones — happy to do that instead.🤖 Generated with Claude Code
CI States
Latest PR Test (Base): ✅ Run #35326318975
Latest PR Test (Extra): ❌ Run #35326318915
Latest PR Test (AMD ROCm 10): ❌ Run #35326319628