Skip to content

Merge upstream v0.32.0 into release/0.32 - #57

Merged
ieaves merged 2 commits into
release/0.32from
sync/upstream-v0.32.0
Oct 30, 2026
Merged

ieaves merged 2 commits into
release/0.32from
sync/upstream-v0.32.0

Conversation

@ieaves

@ieaves ieaves commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

release/0.32 was cut one commit before the upstream v0.32.0 tag. This merges the tag, which brings in the one missing commit:

It touches diffusion LoRA only. After the merge, v0.32.0 is an ancestor of release/0.32.

Tests: tests/diffusion/lora on H100, 105 passed.

tzhouam and others added 2 commits October 28, 2026 04:07
#9443 publishes a no-adapter (slot-0) MoE LoRA mapping before the first
forward so LoRA-typed MoE kernels have a context on HunyuanImage-3's
baseline generate() (fixes #9232). Only TrtLlmBf16LoRAExperts needs that
while idle: apply() asserts the context exists and then returns through
_batch_has_no_lora(). Every other LoRA-capable MoE kernel treats context
presence as the LoRA switch and keeps working for a zero delta — Triton
disables skip_invalid and still runs apply_w13_lora/apply_w2_lora ahead
of the no_lora_flag return in add_lora_fused_moe (~6% of HunyuanImage-3
DiT on H100), and the Ascend unquantized path adds routing recovery, an
all_to_all of the LoRA indices per layer and bgmv shrink/expand launches
(40-50% e2e on A3).

Keep the eager wrapping, and decide per wrapper while no adapter is
active: wrappers whose experts expose _batch_has_no_lora keep
set_mapping(slot 0); the rest are detached through the Ascend runner
idle hook or fused_experts/prepare_finalize set_lora_context(None);
anything that cannot be detached keeps the mapping rather than being
left without one. Activation is unchanged, so every wrapper still gets
the slot-1 mapping.

NPU A3 nightly perf, build #10126 vs the pre-regression distribution of
13 nightlies (tp2_cfgp2 / tp2_sp2 / tp4): e2e 5.95 / 5.79 / 5.77 s
against medians 5.43 / 5.70 / 5.81 s, model.forward 3.79 / 3.99 / 4.11 ms
against 3.79 / 3.99 / 4.13 ms, all inside range; with the idle context
published those were 7.90 / 8.25 / 8.44 s and 6.31 / 6.53 / 6.67 ms.

Upstream follow-up: vllm-project/vllm-ascend#20078 asks for the
unquantized Ascend path to gate on has_lora() as its quantized path
already does.

Fixes #9514

Signed-off-by: tzhouam <tzhouam@connect.ust.hk>
Co-authored-by: zzh <67720593+BLANKETusers@users.noreply.github.com>
@ieaves
ieaves deployed to gpu-internal October 30, 2026 19:00 — with GitHub Actions Active
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T19:01:43.897823Z 70ce9d8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@ieaves
ieaves merged commit d9c79f6 into release/0.32 Oct 30, 2026
1 check passed

This branch was successfully deployed

1 active deployment
gpu-internal — 70ce9d8e Deployed Oct 30, 2026 by ieaves via gpu #16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants