Skip to content

[BugFix] Set graph_pool_id before FULL CUDA graph capture in ModelRunner V2#48843

Merged
tlrmchlsmth merged 1 commit into
vllm-project:mainfrom
neuralmagic:imarkov/fix-48840
Jul 21, 2026
Merged

[BugFix] Set graph_pool_id before FULL CUDA graph capture in ModelRunner V2#48843
tlrmchlsmth merged 1 commit into
vllm-project:mainfrom
neuralmagic:imarkov/fix-48840

Conversation

@ilmarkov

@ilmarkov ilmarkov commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

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
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.
  • (Optional) Release notes update. If your change is user facing, please update the release notes draft in the Google Doc.

Signed-off-by: Markov Ilya <markovilya19@gmail.com>

@claude claude Bot 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.

Claude Code Review

This pull request is from a fork — automated review is disabled. A repository maintainer can comment @claude review to run a one-time review.

@mergify mergify Bot added the bug Something isn't working label Jul 16, 2026
@tlrmchlsmth tlrmchlsmth added the ready ONLY add when PR is ready to merge/full CI is needed label Jul 16, 2026
@github-project-automation github-project-automation Bot moved this to Ready in NVIDIA Jul 21, 2026
@tlrmchlsmth
tlrmchlsmth merged commit f890e1d into vllm-project:main Jul 21, 2026
95 of 99 checks passed
@github-project-automation github-project-automation Bot moved this from Ready to Done in NVIDIA 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>
@@ -0,0 +1,111 @@
# SPDX-License-Identifier: Apache-2.0

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working nvidia ready ONLY add when PR is ready to merge/full CI is needed v1

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Bug]: AssertionError: graph_pool_id is not set under graph capture when VLLM_USE_NCCL_SYMM_MEM=1 with ModelRunner V2

3 participants