From c3366a7689427751d08e4ee30842bde4c9a83ce6 Mon Sep 17 00:00:00 2001 From: layerdiffusion <19834515+lllyasviel@users.noreply.github.com> Date: Sat, 7 Sep 2024 19:08:17 -0700 Subject: [PATCH] exclude torch jit objects from space memory management todo: fix a bug that torch jit module offload does not work on some versions --- .../google_blockly/additional_samplers.pyz | Bin 16667 -> 16788 bytes spaces.py | 7 ++++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules_forge/google_blockly/additional_samplers.pyz b/modules_forge/google_blockly/additional_samplers.pyz index ac791575aa1bdde4fdc76a147601efb9be9bdd2e..8d31ee1895786e324ff7d9ed3d21278f9a8a75a3 100644 GIT binary patch literal 16788 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 diff --git a/spaces.py b/spaces.py index 05370f06..0acfada3 100644 --- a/spaces.py +++ b/spaces.py @@ -95,7 +95,12 @@ def load_module(m): print(f"[Memory Management] Required Inference Memory: {inference_memory / (1024 * 1024):.2f} MB") print(f"[Memory Management] Estimated Remaining GPU Memory: {estimated_remaining_memory / (1024 * 1024):.2f} MB") - if ALWAYS_SWAP or estimated_remaining_memory < 0: + is_torch_jit = 'ScriptModule' in type(m).__name__ + + if is_torch_jit: + print(f'Detected torch jit module: {type(m).__name__}') + + if (ALWAYS_SWAP or estimated_remaining_memory < 0) and not is_torch_jit: print(f'Move module to SWAP: {type(m).__name__}') DynamicSwapInstaller.install_model(m, target_device=gpu) model_gpu_memory_when_using_cpu_swap = memory_management.compute_model_gpu_memory_when_using_cpu_swap(current_free_mem, inference_memory)