Improve memory handling for safetensor models in corner cases

- Added preemptive model unloading and cache clearing in register_patched_safetensor_modelpatcher() to resolve potential memory issues when allocations are unavailable, prompting the usage of the standard loaders.
This commit is contained in:
John Pollock
2025-09-09 12:00:56 -05:00
parent 803cf542d9
commit e1635e9996
2 changed files with 5 additions and 1 deletions
+4
View File
@@ -67,10 +67,14 @@ def register_patched_safetensor_modelpatcher():
allocations = safetensor_allocation_store.get(debug_hash)
if not hasattr(self.model, '_distorch_high_precision_loras') or not allocations:
mm.unload_all_models()
soft_empty_cache_multigpu(logger)
result = original_partially_load(self, device_to, extra_memory, force_patch_weights)
if hasattr(self, '_distorch_block_assignments'):
del self._distorch_block_assignments
return result
mm.unload_all_models()
soft_empty_cache_multigpu(logger)
mem_counter = 0
+1 -1
View File
@@ -1,7 +1,7 @@
[project]
name = "comfyui-multigpu"
description = "Provides a suite of custom nodes to manage multiple GPUs for ComfyUI, including advanced model offloading for both GGUF and Safetensor formats with DisTorch, and bespoke MultiGPU support for WanVideoWrapper and other custom nodes."
version = "2.4.2"
version = "2.4.3"
license = {file = "LICENSE"}
[project.urls]