Skip to content

[BugFix][Diffusion] Scope Wan RMSNorm patch to NPU - #8047

Merged
Gaohan123 merged 1 commit into
vllm-project:mainfrom
Dong1017:fix/8030-wan-vae-fastpath
Sep 23, 2026
Merged

Gaohan123 merged 1 commit into
vllm-project:mainfrom
Dong1017:fix/8030-wan-vae-fastpath

Conversation

@Dong1017

Copy link
Copy Markdown
Contributor

Fixes #8030.

Importing the Wan 2.2 package replaced diffusers' WanRMS_norm globally, including on CPU and CUDA. The Wan VAE fastpath only supports the original diffusers class, so its normalization optimization was skipped and six tests failed depending on import order. Apply the automatic replacement only on NPU, restore module aliases after tests that explicitly exercise the patch, and correct the moved RMSNormVAE test import.

Validation: reproduced the reported six failures on upstream 75570ee3a with diffusers 0.40.0; both affected test files now pass together (79 tests). ruff check, ruff format --check, and git diff --check pass. The reproduction host has vLLM 0.29.0; the reported CI used 0.30.0.

@vllm-omni-review-bot

Copy link
Copy Markdown

This PR appears to belong to: docs/design/module/diffusion/offloader.md, docs/design/module/diffusion/diffusion_model_integration.md, docs/design/module/diffusion/index.md.

Module owners: @wtomin @david6666666 @Isotr0py

Routing: @wtomin via module of the changed files, module named in the PR description, CODEOWNERS; @david6666666 via module of the changed files, module named in the PR description; @Isotr0py via module of the changed files, module named in the PR description

@Dong1017, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer.

Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment.

@Gaohan123 Gaohan123 added this to the v0.30.0 milestone Sep 23, 2026
Signed-off-by: GUOGUO <xwdong1998@163.com>
@Dong1017
Dong1017 force-pushed the fix/8030-wan-vae-fastpath branch from bd506f9 to b1bd11f Compare September 23, 2026 04:24

@Gaohan123 Gaohan123 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM. Thanks

@Gaohan123 Gaohan123 added the ready label to trigger buildkite CI label Sep 23, 2026
@Gaohan123
Gaohan123 enabled auto-merge (squash) September 23, 2026 04:31
@Dong1017 Dong1017 closed this Sep 23, 2026
auto-merge was automatically disabled September 23, 2026 04:33

Pull request was closed

@Dong1017 Dong1017 reopened this Sep 23, 2026
@Dong1017

Copy link
Copy Markdown
Contributor Author

Self-review (precheck-pr quick, b1bd11f): I checked all three changed files against #8030: the NPU-only patch guard, restoration of WanRMS_norm aliases after patch tests, and the moved RMSNormVAE import. With diffusers 0.40.0 and vLLM 0.29.0, the combined tests reproduced six failures on main and passed 79/79 on this commit; Ruff and diff checks passed. The guard also changes CPU/CUDA runtime normalization selection, so full model-output parity remains unverified. Current NPU CI failures are in MiniCPM-o perf and Qwen3-TTS steps, while AMD and Intel CI are pending. The repository precheck also flagged title prefix casing and a legacy SPDX header for follow-up after CI.

@Dong1017

Copy link
Copy Markdown
Contributor Author

CI triage for b1bd11f2a:

  • Passed: main Buildkite, Intel, DCO, Python builds, and pre-commit.
  • AMD: the hard failure is in the Qwen-Image Custom Pipeline Test. Two cases report Sleep mode can only be used for one instance per process and model parallel state must be empty before initialization.
  • NPU: MiniCPM-o 4.5 loses its EngineCore/Stage-0 replica; its perf test has request failures, and Qwen3-TTS also reports no live Stage-0 replica. The underlying cause of the worker exits is not established by the test summaries.

These failing jobs do not run the changed Wan VAE tests. The production guard in this PR still calls patch_wan_rms_norm() on NPU. I found no failure pointing to the changed Wan VAE path, so I have not changed unrelated code. Retrying only the failed Buildkite jobs on this same SHA would help distinguish transient CI failures from reproducible ones.

@Dong1017

Copy link
Copy Markdown
Contributor Author

Root-cause timeline for #8030:

This PR limits automatic substitution to NPU, restores module bindings after the explicit patch tests, and corrects the import. With diffusers 0.40.0 and vLLM 0.29.0, the combined-order run reproduced six failures on the base revision and passed 79/79 on this revision. The CPU/CUDA class selection changes as a result; complete model-output parity remains unverified.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready label to trigger buildkite CI

Projects

None yet

3 participants