[Refactor][Diffusion] Read the resolved offload policy outside the config layer (#7327)
Signed-off-by: specture724 <specture724@gmail.com> Co-authored-by: Claude Opus 5 <noreply@anthropic.com> Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
This commit is contained in:
22 files changed
+265
-111
No files matched your search
@@ -44,7 +44,11 @@ from vllm_omni.diffusion.io_support import (
|
||||
supports_audio_output,
|
||||
supports_multimodal_input,
|
||||
)
|
||||
from vllm_omni.diffusion.offloader.config import any_selected_component_uses_allgather
|
||||
from vllm_omni.diffusion.offloader.config import (
|
||||
OffloadStrategy,
|
||||
any_selected_component_uses_allgather,
|
||||
resolve_offload_strategy,
|
||||
)
|
||||
from vllm_omni.diffusion.output_formatter import (
|
||||
format_diffusion_outputs,
|
||||
format_empty_diffusion_outputs,
|
||||
@@ -573,7 +577,8 @@ class DiffusionEngine:
|
||||
if output.media is not None:
|
||||
if output.output is not None:
|
||||
raise ValueError("DiffusionOutput cannot contain both media and legacy output")
|
||||
media = output.media.to_cpu() if self.od_config.enable_cpu_offload else output.media
|
||||
model_level = resolve_offload_strategy(self.od_config) is OffloadStrategy.MODEL_LEVEL
|
||||
media = output.media.to_cpu() if model_level else output.media
|
||||
output_data = media.video.tensor
|
||||
outputs = finalize_diffusion_media(media, sampling_params=request.sampling_params)
|
||||
else:
|
||||
@@ -585,7 +590,7 @@ class DiffusionEngine:
|
||||
# post-processing to avoid device OOM — model weights may still
|
||||
# reside on the device and leave no headroom for intermediates.
|
||||
output_data = output.output
|
||||
if self.od_config.enable_cpu_offload:
|
||||
if resolve_offload_strategy(self.od_config) is OffloadStrategy.MODEL_LEVEL:
|
||||
output_data = _move_tensor_tree_to_cpu(output_data)
|
||||
|
||||
if self.post_process_func is not None:
|
||||
|
||||
Reference in new issue
Block a user