Repository navigation
Conversation
Signed-off-by: Guancheng Fu <guancheng.fu@intel.com>
Contributor
|
This pull request has merge conflicts that must be resolved before it can be |
This was referenced Oct 5, 2026
This branch has not been deployed
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.
Dependency and coordination
This PR depends on vllm-project/vllm-xpu-kernels#606 (or a release containing
that change), which adds the optional
dynamic_causalFA2 argument.Open PR #45774 overlaps the DiffusionGemma XPU startup portion but targets an
older tree and currently conflicts with
main. It copies UVA inputs to XPU;this change instead keeps the small sampler helpers eager and uses the current
mainline TP-local embedding matmul/all-reduce design.
Purpose
DiffusionGemma needs a per-sequence causal/bidirectional mask in one batch.
vLLM already builds
int32[num_seqs]dynamic-causal metadata and symmetrizes acausal sliding window for mixed batches, but the FlashAttention backend only
allowed this tensor with FA4 and the XPU wrapper did not forward it.
This change:
dynamic_causalthrough_xpu_ops.flash_attn_varlen_functo thekernel package and keeps the existing symmetric-window contract;
google/diffusiongemma-26B-A4B-it, runtime--quantization fp8, TP2,FLASH_ATTN, eager execution, and concurrency 2; andself-conditioning state in the model dtype. These two current-main fixes are
required for TP2 evaluation to reach attention: without them startup fails
first on a Triton XPU pointer and then on an FP32/BF16 indexed assignment.
Test Plan
Focused unit tests:
Focused pre-commit:
Full GSM8K qualification used a local mirror of the Google checkpoint and a
machine-local
--gpu-memory-utilization 0.75override; the committed YAML doesnot include that machine-specific setting:
The upstream-style reproduction uses the committed config through a temporary
one-entry list:
Test Result
5 passed.approximately 1.8 questions/s.
723.4 seconds, approximately 1.8 questions/s; acceptance floor is
0.84 - 0.08 = 0.76.causal/bidirectional single launch and XPU graph replay.
pre-commit run --all-fileswas also attempted. Relevant code, formatting,type, and metadata hooks passed. The overall command did not pass because
pip-compile-rocmregeneratedrequirements/test/rocm.txtwith dependenciesfrom the shared XPU runtime (the generated change was restored), and
test-nonroot-entrypointcase 3 did not replace a read-onlyHOMEwith atemporary home. These are environment-sensitive failures unrelated to the
changed files; they are not reported as passing.
An earlier full-run attempt used the harness default 600-second request
timeout. Because that timeout includes time waiting for the concurrency-2
connection pool, 224 queued requests timed out. That run was discarded and the
reported run changed only the request timeout to 1800 seconds.
Duplicate-work check
Repeated immediately before preparing this draft:
does not implement or wire XPU FA2.
and uses the older UVA-copy and TP-gather approach described above.
fixes. Current
mainalready has a newer TP-local matmul/all-reduce path, soits old TP gather patch was not copied.
dynamic_causalor XPU FA2 searches implements thewrapper/backend change in this PR.
Limitations
Validation was performed on Intel Arc Pro B70 only, in the existing PyTorch
2.13.0+xpuenvironment. The companion kernel repository currently declaresPyTorch
2.14.0+xpu; that mismatch remains a validation limitation. The modelevaluation is intentionally not added to a default CI list.
AI assistance was used during implementation and validation. The human
submitter must review and understand every changed line before submission.