[BugFix] Set graph_pool_id before FULL CUDA graph capture in ModelRunner V2#48843
Merged
Merged
Conversation
ilmarkov
requested review from
WoosukKwon,
njhill and
yewentao256
as code owners
July 16, 2026 11:24
tlrmchlsmth
approved these changes
Jul 21, 2026
njhill
added a commit
to njhill/vllm
that referenced
this pull request
Jul 21, 2026
An audit of .buildkite pytest targets against tests/**/test_*.py found dozens of test files that no CI job ever runs. Wire in the ones that pass on current main (every set validated on B200-class hardware, or CPU-only for CPU tests, before wiring): - tests/kernels root: after the kernels/ subdir categorization (vllm-project#16799), the root stopped being collected, and 19 files added since then never ran. Add a catch-all B200 job collecting the root (so future files are wired by default), excluding files with dedicated jobs and 8 files that are currently failing on main (35 failures total, enumerated in the job comment for their owners to fix and re-enable). The remaining 11 files pass (2500+ tests). - NIXL PD edge case script: existed with a runner script that nothing invoked. run_edge_case_test.sh hardcoded GPU ids 4/5 (an 8-GPU dev box assumption, likely why it was never wired) - make them env-overridable and set 0/1 in the job. Validated passing. (The sibling spec_decode_acceptance_test.sh is NOT orphaned: the wired config-sweep job invokes it transitively.) - v1/determinism: test_matmul_batch_invariant.py and test_cutlass_batch_invariance.py (42 passed) and test_online_batch_invariance.py (3 passed, ~5 min server-based) -> Batch Invariance (B200). The first two were added after the jobs' explicit file lists existed; the online test was split out of test_batch_invariance.py days before the first batch-invariance job was created and has never run in CI. Note the jobs' source_file_dependencies already covered the whole determinism dir, so PRs touching these files triggered the jobs without running them. - models: test_adapters.py (regression test for the vllm-project#39650 silent weight-corruption fix; passes CPU-only) -> Basic Models Test (Other CPU); test_deepseek_v4_mega_moe.py (CUDA unit test) -> Deepseek V4 Kernel Test (B200). - Singles (all validated passing): cuda/test_cuda_compatibility_path.py -> Platform Tests (CUDA); spec_decode/test_custom_proposer.py -> Spec Decode Ngram + Suffix; tools/test_config_validator.py and v1/test_kv_cache_spec_registry.py -> CPU jobs; v1/test_tensor_ipc_queue.py -> Engine (1 GPU); tracing/test_loading_tracing.py -> Metrics, Tracing (already installs the OTel deps it needs). - v1/cudagraph/test_cudagraph_manager.py (added unwired by vllm-project#48843 while this change was in flight; cpu_test-marked, passes CPU-only) -> the V1 CPU job. NOT wired because they are broken on main (never ran, APIs drifted): tests/v1/streaming_input/ (10 of 14 fail: stale RequestState/mock usage) and tests/v1/cudagraph/test_encoder_cudagraph.py (budget tracking test fails). Their owners should fix and wire them. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Nick Hill <nickhill123@gmail.com>
aarushjain29
pushed a commit
to ROCm/vllm
that referenced
this pull request
Jul 21, 2026
…ner V2 (vllm-project#48843) Signed-off-by: Markov Ilya <markovilya19@gmail.com> Co-authored-by: Markov Ilya <markovilya19@gmail.com> Signed-off-by: aarushjain29 <Aarushi.Jain2@amd.com>
ZJY0516
reviewed
Jul 22, 2026
| @@ -0,0 +1,111 @@ | |||
| # SPDX-License-Identifier: Apache-2.0 | |||
Member
There was a problem hiding this comment.
This test doesn't run in CI now
Tejas-Raj01
pushed a commit
to Tejas-Raj01/vllm
that referenced
this pull request
Jul 22, 2026
…ner V2 (vllm-project#48843) Signed-off-by: Markov Ilya <markovilya19@gmail.com> Co-authored-by: Markov Ilya <markovilya19@gmail.com> Signed-off-by: Tejas-Raj01 <rajtejas.xyz@gmail.com>
vx120
pushed a commit
to vx120/vllm
that referenced
this pull request
Jul 23, 2026
…ner V2 (vllm-project#48843) Signed-off-by: Markov Ilya <markovilya19@gmail.com> Co-authored-by: Markov Ilya <markovilya19@gmail.com>
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.
Purpose
Fixes #48840: AssertionError: graph_pool_id is not set under graph capture when VLLM_USE_NCCL_SYMM_MEM=1 is enabled with ModelRunner V2 and FULL_DECODE_ONLY CUDA graphs.
Add set_graph_pool_id() before torch.cuda.graph() in CudaGraphManager.capture() for the FULL capture path.
Adds a CPU unit test that asserts _graph_pool_id is set before entering torch.cuda.graph().
Test Plan
pytest tests/v1/cudagraph/test_cudagraph_manager.py -v
Test Result
Pass
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.