[Refactor][Diffusion] Resolve offload topology through one plan resolver (#7209)

Signed-off-by: specture724 <specture724@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Anjie HouandClaude Opus 5 authored and GitHub committed 2026-09-09 08:17:38 +08:00
1 parent b3dd45874a
commit b6f4df320d
11 files changed
+976 -291

No files matched your search

@@ -1,5 +1,5 @@
# SPDX-License-Identifier: Apache-2.0
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
# SPDX-FileCopyrightText: Copyright contributors to the vLLM-Omni project
"""Declarative model capabilities for component layerwise offload.
Models declare an ``_offload_plan`` class attribute on the pipeline. Both the
@@ -22,9 +22,11 @@ class OffloadPlan:
pipeline class. When present, both layerwise backends use it instead of
model-specific backend branches, making new integrations data-driven.
If not declared, the offloader falls back to:
1. ``_layerwise_offload_blocks_attrs`` on each DiT module class.
2. Heuristic search for ``layers`` / ``blocks`` / ``h`` attributes.
If not declared, the offloader falls back to
``_layerwise_offload_blocks_attrs`` on each DiT module class.
:func:`~vllm_omni.diffusion.offloader.plan_resolver.resolve_offload_plan`
is the only consumer; backends read the resolved artifact it returns.
Attributes:
block_attrs: Maps DiT path → tuple of block-list attribute names.