Skip to content

[Core] Drop the Ray driver-node GPU pin left over from the legacy executor - #61713

Merged
WoosukKwon merged 3 commits into
mainfrom
woosuk/ray-utils-followups
Oct 15, 2026
Merged

WoosukKwon merged 3 commits into
mainfrom
woosuk/ray-utils-followups

Conversation

@WoosukKwon

@WoosukKwon WoosukKwon commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

Follow-up to #61712 (merged). Removes Ray code that only the legacy compiled-graph executor needed.

Claims

  • initialize_ray_cluster loses require_gpu_on_driver and the driver-node bundle pin. The legacy executor ran rank 0 inside the driver process, so it needed a GPU on the driver node. RayExecutorV2 runs every worker as a remote actor and already passed False.
  • Deletes tests/distributed/test_multi_node_assignment.py and its step in the multi-node CI job; it only asserted that pin.
  • Drops the Ray 2.9 available_resources_per_node import shim in ray_utils.py (test requirements pin Ray 2.55/2.56).
  • Un-skips the enable_prompt_embeds + Ray case of test_models_distributed; the skip reason blamed the Ray compiled DAG.
  • Drops the ray[cgraph] extra from the CUDA, ROCm and nightly test requirements. Its only other effect was pulling in cupy (removed from cuda.txt/cpu.txt on recompile). test_weight_transfer_nccl_uid already importorskips cupy and no Buildkite job runs it.

−160 / +7 lines.

Validation

  • pre-commit run (ruff, mypy, Buildkite checks, pip-compile): passed.
  • Local run on the two free GPUs (2–3) of a shared 4x GB200 node:
    • tests/basic_correctness/models/test_basic_correctness.py -k "test_models_distributed and ray" (TARGET_TEST_SUITE=L4), including the un-skipped prompt-embeds case: 4 passed.
    • tests/distributed/test_ray_v2_executor.py, 2-GPU cases: 13 passed. The 4-GPU cases couldn't run because another user's processes hold GPUs 0–1.
    • tests/distributed/test_pipeline_parallel.py -k ray: the only 2-GPU case (PP=2, TP=1) brought up the Ray server and served completions, then failed with a 400 from the Rust frontend's JSON parser on a list-of-strings prompt. The mp backend fails the same way, so this is my stale local vllm-rs binary and unrelated to this PR; CI covers this case.
  • CI: the RayExecutorV2 Buildkite jobs (CUDA L4 and MI355) run the un-skipped case.

Details

Compatibility: initialize_ray_cluster is exported from vllm, so a caller that passes require_gpu_on_driver now gets a TypeError. A search of the vllm-project org found no caller passing it: tpu-inference and vllm-torchtpu use their own _initialize_ray_cluster, and vllm-omni defines its own function of the same name. Callers that relied on the default pin now get a plain PACK placement group with no driver-node constraint.

Not a duplicate: no open PR touches this; it is the follow-up list from #61712.

AI assistance (Claude Code) was used to prepare this change; I reviewed every changed line.


Pull Request Checklist
  • I used vLLM's /pr-checklist skill. (Mandatory for agents, optional for humans).

  • AI assistance was used during the creation of this PR.

  • Design Fit: Minimizes impact on core components, reuses existing functionality, and justifies added complexity.

  • Testing and Validation: Validates the change and ensures any added tests are meaningful and reliable, with CI coverage or documented CI resource constraints and validation performed outside CI.

  • Code Quality and Style: Keeps code and comments clear and concise, and updates relevant documentation and examples.

  • Pull Request Contents: Includes a brief summary and relevant links, supports claims with evidence, explains root causes and implementation trade-offs, and follows the contributing guide.

🤖 Generated with Claude Code

@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 repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@mergify mergify Bot added ci/build ray anything related with ray labels Oct 14, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Ray Oct 14, 2026
@njhill

njhill commented Oct 14, 2026

Copy link
Copy Markdown
Member

cc @jeffreywang88

Comment thread requirements/test/cuda.in Outdated
peft>=0.20.0 # required for phi-4-mm test
pqdm
ray[cgraph,default]>=2.56.0,<2.57 # Ray Compiled Graph, required by pipeline parallelism tests; sharded-RDT weight transfer needs Ray Direct Transport (>=2.56)
ray[cgraph,default]>=2.56.0,<2.57 # cgraph pulls cupy, used by test_weight_transfer_nccl_uid; sharded-RDT weight transfer needs Ray Direct Transport (>=2.56)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

we can remove the cgraph extra as the compiled-graph based executor is entirely removed

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Agreed, dropped it in 8c2ff81 (also from rocm.in and nightly-torch.txt). I'd kept it only because it's what pulls in cupy for test_weight_transfer_nccl_uid, but that test importorskips cupy and isn't run by any Buildkite job, so nothing in CI loses coverage.

Base automatically changed from woosuk/remove-legacy-ray-executor to main October 15, 2026 01:13
@mergify

mergify Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Documentation preview: https://vllm--61713.org.readthedocs.build/en/61713/

@mergify mergify Bot added the documentation Improvements or additions to documentation label Oct 15, 2026
@mergify

mergify Bot commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

This pull request has merge conflicts that must be resolved before it can be
merged. Please rebase the PR, @WoosukKwon.

https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork

@mergify mergify Bot added the needs-rebase label Oct 15, 2026
WoosukKwon and others added 2 commits October 15, 2026 03:36
…cutor

With the compiled-graph executor gone, nothing runs a worker inside the
Ray driver process, so initialize_ray_cluster no longer needs
require_gpu_on_driver (and its driver-node bundle pin). Remove it,
test_multi_node_assignment (which only asserted the pin), and the Ray
2.9 available_resources_per_node shim.

Also un-skip prompt embeds on Ray in test_models_distributed (the skip
blamed the compiled DAG) and fix the stale ray[cgraph] requirement
comment: the extra now only matters for cupy in
test_weight_transfer_nccl_uid.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Woosuk Kwon <woosuk@inferact.ai>
Only the removed compiled-graph executor needed it. Its sole other effect
was pulling in cupy, which test_weight_transfer_nccl_uid importorskips and
no Buildkite job runs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Woosuk Kwon <woosuk@inferact.ai>
@WoosukKwon
WoosukKwon force-pushed the woosuk/ray-utils-followups branch from ca6cc68 to 8c2ff81 Compare October 15, 2026 03:43
@mergify mergify Bot added cpu Related to CPU backends and removed needs-rebase labels Oct 15, 2026
@WoosukKwon WoosukKwon added the ready ONLY add when PR is ready to merge/full CI is needed label Oct 15, 2026
@WoosukKwon

Copy link
Copy Markdown
Collaborator Author

/ci run

@github-actions

Copy link
Copy Markdown

✅ Triggered Buildkite CI #95015 for commit 8c2ff812a086.

@WoosukKwon
WoosukKwon enabled auto-merge (squash) October 15, 2026 03:45

@jeffreywang88 jeffreywang88 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks!

@WoosukKwon
WoosukKwon disabled auto-merge October 15, 2026 23:00
@WoosukKwon
WoosukKwon merged commit 4a89316 into main Oct 15, 2026
9 of 11 checks passed
@WoosukKwon
WoosukKwon deleted the woosuk/ray-utils-followups branch October 15, 2026 23:00
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Ray Oct 15, 2026
michael-gpu pushed a commit to practical-inference/vllm-ampere-extended that referenced this pull request Oct 20, 2026
…cutor (vllm-project#61713)

Signed-off-by: Woosuk Kwon <woosuk@inferact.ai>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/build cpu Related to CPU backends documentation Improvements or additions to documentation ray anything related with ray ready ONLY add when PR is ready to merge/full CI is needed

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants