From b99eac73da2178cdc524a3a9628ae6e53681b4d1 Mon Sep 17 00:00:00 2001 From: "Jean J. de Jong" Date: Wed, 21 Jan 2026 17:33:58 +0100 Subject: [PATCH] Implement conditional offloading for diffusion model Add condition to skip offloading if load_device is main_device. --- nodes_model_loading.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/nodes_model_loading.py b/nodes_model_loading.py index 8e28176..28e25be 100644 --- a/nodes_model_loading.py +++ b/nodes_model_loading.py @@ -1803,10 +1803,14 @@ class WanVideoModelLoader: ) if merge_loras and lora is not None: - log.info(f"Moving diffusion model from {patcher.model.diffusion_model.device} to {offload_device}") - patcher.model.diffusion_model.to(offload_device) - gc.collect() - mm.soft_empty_cache() + # Skip offloading if load_device is main_device (for unified memory systems like AMD Strix Halo) + if load_device != "main_device": + log.info(f"Moving diffusion model from {patcher.model.diffusion_model.device} to {offload_device}") + patcher.model.diffusion_model.to(offload_device) + gc.collect() + mm.soft_empty_cache() + else: + log.info(f"Skipping offload (load_device=main_device, keeping model on {patcher.model.diffusion_model.device})") patcher.model["base_dtype"] = base_dtype patcher.model["weight_dtype"] = weight_dtype