Skip to content

feat: add GPUDirect support for intel xpu on Dynamo#5852

Merged
rmccorm4 merged 8 commits into
ai-dynamo:mainfrom
Spycsh:xpu
Mar 26, 2026
Merged

feat: add GPUDirect support for intel xpu on Dynamo#5852
rmccorm4 merged 8 commits into
ai-dynamo:mainfrom
Spycsh:xpu

Conversation

@Spycsh

@Spycsh Spycsh commented Jan 31, 2026

Copy link
Copy Markdown
Contributor

Overview:

Add validated path of gdr for Intel XPU on Dynamo. Also fix related issues.

Details:

Validate running a vLLM 2P2D disaggregation example in Dynamo on Intel XPU, with GPUDirect KV transfer.
router-mode is set to be kv and smart routing is also validated to work correctly from my end.

Summary by CodeRabbit

  • Bug Fixes

    • Improved compatibility with different vLLM version structures.
  • New Features

    • Added example configuration for multi-process VLLM setup with KV routing, supporting separate prefill and decode worker management on distinct processing units.

✏️ Tip: You can customize this high-level summary in your review settings.

@Spycsh Spycsh requested a review from a team January 31, 2026 09:25
@Spycsh Spycsh requested review from a team as code owners January 31, 2026 09:25
@copy-pr-bot

copy-pr-bot Bot commented Jan 31, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Hi Spycsh! Thank you for contributing to ai-dynamo/dynamo.

Just a reminder: The NVIDIA Test Github Validation CI runs an essential subset of the testing framework to quickly catch errors.Your PR reviewers may elect to test the changes comprehensively before approving your changes.

🚀

@github-actions github-actions Bot added external-contribution Pull request is from an external contributor feat backend::vllm Relates to the vllm backend multimodal labels Jan 31, 2026
@coderabbitai

coderabbitai Bot commented Jan 31, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

The PR introduces a fallback import mechanism for improved vLLM version compatibility and adds a new Bash script for orchestrating a distributed VLLM multi-worker setup with KV routing on XPU devices, using separate decode and prefill workers with GDR configuration.

Changes

Cohort / File(s) Summary
Import Compatibility
components/src/dynamo/vllm/multimodal_utils/chat_processor.py
Adds try/except fallback for AnyTokenizer import, enabling compatibility with different vLLM version structures by falling back to vllm.transformers_utils.tokenizer if vllm.tokenizers raises ImportError.
VLLM Launch Configuration
examples/backends/vllm/launch/disagg_router_xpu_gdr.sh
New Bash script orchestrating multi-process VLLM setup with KV routing: starts Dynamo frontend in KV router mode, launches two decode workers and two prefill workers with separate side-channel ports, ZE_AFFINITY_MASK settings, and distinct KV events endpoints.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 With imports that fallback and workers aligned,
Our vLLM now routes with split-brain design!
KV caches dance across decode and prefill,
XPU acceleration bends to our will.
A rabbit's delight: when systems just work! 🚀

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description addresses the Overview and Details sections but lacks specificity about which related issues are being fixed and does not follow the template's 'Related Issues' and 'Where should the reviewer start' sections. Complete the 'Related Issues' section with specific GitHub issue numbers using action keywords (Closes/Fixes/Resolves), and add a 'Where should the reviewer start' section highlighting key files to review.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly and concisely describes the main change: adding GPUDirect support for Intel XPU on Dynamo, which aligns with the changeset that introduces a fallback import path and adds a multi-worker vLLM configuration script.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can customize the tone of the review comments and chat replies.

Configure the tone_instructions setting to customize the tone of the review comments and chat replies. For example, you can set the tone to Act like a strict teacher, Act like a pirate and more.

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@examples/backends/vllm/launch/disagg_router_xpu_gdr.sh`:
- Around line 1-6: Remove the leading blank line so the shebang (#!/bin/bash) is
the very first byte of the file, and update the SPDX header year line (the
Copyright comment that currently contains "2025") to include 2026 (e.g.,
"2025-2026") so the copyright check passes; then run shellcheck quickly to
ensure the existing set -e and trap 'echo Cleaning up...; kill 0' EXIT are valid
and adjust quoting/exit handling if shellcheck flags issues.

Comment thread examples/backends/vllm/launch/xpu/disagg_router_xpu_gdr.sh
@Spycsh Spycsh marked this pull request as draft February 2, 2026 02:39
@github-actions

github-actions Bot commented Mar 4, 2026

Copy link
Copy Markdown
Contributor

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions Bot added the Stale label Mar 4, 2026
@Spycsh Spycsh force-pushed the xpu branch 2 times, most recently from 8ed5be7 to 438a6dd Compare March 16, 2026 03:23
@Spycsh Spycsh marked this pull request as ready for review March 16, 2026 03:25
@Spycsh Spycsh requested a review from a team as a code owner March 16, 2026 03:25
@Spycsh

Spycsh commented Mar 17, 2026

Copy link
Copy Markdown
Contributor Author

Hi @rmccorm4 , could you please help review this PR and merge this? This PR gives a simple example on 2P2D disaggregation on Intel XPU using GPUDirect. Dependencies have been resolved and upstreamed in vllm-project/vllm#35270. Thanks!

@Spycsh Spycsh changed the title feat: enable GPUDirect support for intel xpu on Dynamo feat: add GPUDirect support for intel xpu on Dynamo Mar 17, 2026
Spycsh added 3 commits March 17, 2026 23:32
Signed-off-by: Spycsh <sihan.chen@intel.com>
Signed-off-by: Spycsh <sihan.chen@intel.com>
@Spycsh

Spycsh commented Mar 24, 2026

Copy link
Copy Markdown
Contributor Author

Kindly ping @PeaBrane @GuanLuo @tedzhouhk for review:)

@rmccorm4

Copy link
Copy Markdown
Contributor

/ok to test 7997cf9

@rmccorm4 rmccorm4 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.

Hi @Spycsh, thanks for this contribution. Can you start an xpu/ folder and move this script there for easier organization?

examples/backends/vllm/launch/xpu/disagg_router_xpu_gdr.sh

@Spycsh

Spycsh commented Mar 25, 2026

Copy link
Copy Markdown
Contributor Author

@rmccorm4 thanks, done.

Spycsh added 2 commits March 26, 2026 01:11
Signed-off-by: Spycsh <sihan.chen@intel.com>
@rmccorm4 rmccorm4 enabled auto-merge (squash) March 25, 2026 23:29
@rmccorm4

Copy link
Copy Markdown
Contributor

/ok to test e509793

@rmccorm4 rmccorm4 merged commit db14d63 into ai-dynamo:main Mar 26, 2026
65 checks passed
yao531441 pushed a commit to yao531441/dynamo that referenced this pull request May 13, 2026
Signed-off-by: Spycsh <sihan.chen@intel.com>
Co-authored-by: Ryan McCormick <rmccormick@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend::vllm Relates to the vllm backend external-contribution Pull request is from an external contributor feat multimodal size/M Stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants