mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-06-20 23:09:27 +08:00
model_patcher: implement pinned memory counter
Implement a pinned memory counter for better accounting of what volume of memory pins have.
This commit is contained in:
parent
90fefbd89c
commit
34647e8345
@ -1063,6 +1063,10 @@ class ModelPatcher:
|
|||||||
|
|
||||||
return self.model.model_loaded_weight_memory - current_used
|
return self.model.model_loaded_weight_memory - current_used
|
||||||
|
|
||||||
|
def pinned_memory_size(self):
|
||||||
|
# Pinned memory pressure tracking is only implemented for DynamicVram loading
|
||||||
|
return 0
|
||||||
|
|
||||||
def partially_unload_ram(self, ram_to_unload):
|
def partially_unload_ram(self, ram_to_unload):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@ -1653,6 +1657,16 @@ class ModelPatcherDynamic(ModelPatcher):
|
|||||||
|
|
||||||
return freed
|
return freed
|
||||||
|
|
||||||
|
def pinned_memory_size(self):
|
||||||
|
total = 0
|
||||||
|
loading = self._load_list(for_dynamic=True)
|
||||||
|
for x in loading:
|
||||||
|
_, _, _, _, m, _ = x
|
||||||
|
pin = comfy.pinned_memory.get_pin(m)
|
||||||
|
if pin is not None:
|
||||||
|
total += pin.numel() * pin.element_size()
|
||||||
|
return total
|
||||||
|
|
||||||
def partially_unload_ram(self, ram_to_unload):
|
def partially_unload_ram(self, ram_to_unload):
|
||||||
loading = self._load_list(for_dynamic=True, default_device=self.offload_device)
|
loading = self._load_list(for_dynamic=True, default_device=self.offload_device)
|
||||||
for x in loading:
|
for x in loading:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user