Skip to content

Latest commit

 

History

History
49 lines (30 loc) · 11.1 KB

File metadata and controls

49 lines (30 loc) · 11.1 KB

Release History

EN 中文
  • v2.4.6 – DisTorchPurgeVRAMV2: Fixed unpin warning spam ([WARNING] Tried to unpin tensor not pinned by ComfyUI) and CUDA driver abort crashes (Fatal Python error: Aborted) during HSWQ purge. Pinned tensors encountered during _kill_tensor_storage, Method 0s/0s2 (Detailer SEGS / PromptExecutor sweep), and Method 3 (gc nuclear) are now verified against comfy.model_management.PINNED_MEMORY before delegating to mm.unpin_memory(). Tensors pinned outside ComfyUI (e.g. PyTorch host-allocated page-locked tensors or Detailer SEGS cache) are safely skipped without triggering ComfyUI warning logs. Eliminated invalid raw cudaHostUnregister() calls on host-allocated tensors, preventing CUDA runtime driver page-table corruption and process crashes during subsequent clear_nvfp4_runtime_pools / CUDA cache reset. Root purge_vram.py and nodes/purge_vram.py synced. See Release Notes v2.4.6 for details.

  • v2.4.5 – DisTorchPurgeVRAMV2: Full Krea2 ConvRot NVFP4 support on HSWQ purge. Recursively wipes nested low-rank LoRA residuals (_hswq_krea2_lora_res, _hswq_krea2_lora_res_gpu) in container structures (list/tuple/dict) to eliminate VRAM leaks and prevent residual contamination across model runs. Peels Krea2 ops wrappers on mixed_precision_ops, convert_old_quants, and detect_unet_config (_hswq_krea2_txtlayers_fix closure unwrap). Uninstalls dynamic LoRA bake hooks via uninstall_krea2_nvfp4_lora_bake(). Resets activation/rotation runtime pools (_ACT_Q_POOL, _ROT_OUT_POOL), CUDA graph caches (_GRAPH_CACHE), Hadamard tables, and forward/bake diagnostic log counters across loaded NVFP4 submodules. Fallback nodes/purge_vram.py kept in strict sync with root. See Release Notes v2.4.5 for details.

  • v2.4.4 – Soft purge / Memory Manager reclaim MultiGPU–NVFP4 CUDA residue (e.g. Krea2) left after unload when HSWQ is OFF: force-empty leftover CUDA param/buffer storage on loaded models, then unload_all_models() + free_memory(1e30) on all CUDA devices (free_memory(0) is a no-op). Storage kill is CUDA-only so CPU CLIP / Z Image TE reload sources are not wiped after Ollama-adjacent soft/HSWQ purge (Embedding.weight non-2D). HSWQ Methods 0–2c stay toggle-gated only (no auto-arm). Also expands HSWQ Method 2c / nuclear surfaces after v2.4.3: full INT8/NVFP4/Detailer residual clear, ZI ConvRot parity / bake peel (restore_nvfp4_tc_product_stack / uninstall_zimage_nvfp4_lora_bake), Hadamard / inplace pool clears. See Release Notes v2.4.4 for details.

  • v2.4.3 – DisTorchPurgeVRAMV2 HSWQ Method 2c: after nuclear CUDA kill, also clear HSWQ NVFP4 runtime pools / CUDA graphs (clear_nvfp4_runtime_pools() via sys.modules scan of nvfp4_runtime) in addition to existing comfy_kitchen _cublas_workspaces / _empty_cuda_tensors reset, so ConvRot NVFP4 second generation after purge no longer hits quantize_nvfp4 / PyCapsule / pooled TC path failed. Prefer import of DisTorchPurgeVRAMV2 from nodes/purge_vram.py; log prefix HSWQ INT8/NVFP4:. See Release Notes v2.4.3 for details.

  • v2.4.2 – DisTorchPurgeVRAMV2: new Ollama toggle (below HSWQ) fully purges Ollama residual from comfyui-ollama and comfyui-ollama-describer (describer defaults keep_model_alive=-1): loop GET /api/ps until empty with /api/generate + /api/chat keep_alive=0, ollama stop, Client fallback; harvest api_host/url from both packs; clear CHAT_SESSIONS / saved_context; wipe saved_context/ files; final /api/ps verify. Fallback nodes/purge_vram.py kept in sync with root. See Release Notes v2.4.2 for details.

  • v2.4.1 – DisTorchPurgeVRAMV2 HSWQ purge: reclaim full HSWQ residual VRAM (PinCache force-import + drain, in-place PromptExecutor/SEGS cache clear without mid-prompt reset(), PINNED_MEMORY HostUnregister, gc nuclear unload). Method 2c resets comfy_kitchen CUDA workspace / empty-tensor caches after nuclear kill so reload (including INT8 GEMM) remains valid after purge+reload. UI toggle renamed to HSWQ (legacy kwargs "HSWQ INT8" still accepted). Fallback nodes/purge_vram.py synced to root. See Release Notes v2.4.1 for details.

  • v2.4.0 – Added automated GPU-wide VRAM management patch executed at startup. Auto-detects non-PyTorch VRAM usage (browsers, Discord, OBS, etc.) via NVML and dynamically adjusts ComfyUI's memory management (General Manage VRAM) at load time. This prevents OOM errors caused by external GPU processes that PyTorch cannot detect, ensuring system-wide memory safety. Added nvidia-ml-py dependency. See Release Notes v2.4.0 for details.

  • v2.3.8 – Technical documentation describing Flash Attention-2 issues when using ComfyUI on PyTorch 2.11.0, including failure symptoms and environment-related constraints. See Release Notes v2.3.8 for details.

  • v2.3.7 – Added external runtime SageAttention noise guard behavior for the known Unsupported head_dim: 160 fallback path, reduced repeated error-log spam, and aligned patch documentation to repository-scoped changes only. See Release Notes v2.3.7 for details.

  • v2.3.6 – Enhanced SageAttention3 (SA3) integration in Patch Sage Attention DM node. Added SA3-specific version detection function (get_sage_attention3_info()) with Blackwell support detection. Improved SA3 implementation with tensor layout conversion (NHD to HND) and constraint handling (headdim >= 256, attention mask support). Added automatic fallback to PyTorch SDPA when SA3 constraints are not met. Fixed SA2 version logging to skip when SA3 modes are selected. Supports both sageattn3 and sageattn3_per_block_mean modes with proper per-block mean processing. See Release Notes v2.3.6 for details.

  • v2.3.5 – Fixed duplicate sys import in purge_vram.py. Removed redundant import statement that was already imported at module level.

  • v2.3.4 – Removed Safe Memory Manager node. The node has been removed from __init__.py and README.md as it is no longer needed. Users should use Memory Manager instead.

  • v2.3.3 – Fixed import paths for nodes in nodes/ directory. All nodes (Memory Manager, Purge VRAM V2, Patch Sage Attention DM, Model Patch Memory Cleaner) are now correctly registered and displayed in ComfyUI. Resolves Issue #3. See Release Notes v2.3.3 for details.

  • v2.3.0 – Added Patch Sage Attention DM node for patching ComfyUI's attention mechanism to use SageAttention. Supports multiple SageAttention implementations (auto, CUDA, Triton, SageAttention 3) with dynamic patching via ComfyUI's callback system. Added independent version detection for Flash-Attention and SageAttention (completely independent from model_management module). Flash-Attention auto-load feature when disabled (no CLI options required). Automatically detects and logs SageAttention version with CUDA/PyTorch information, and Flash-Attention version with FA-2/FA-3 type detection. Version information is logged on every generation. Compatible with ComfyUI's attention function format. See Release Notes v2.3.0 for details.

  • v2.2.0 – Added Patch Sage Attention DM node for patching ComfyUI's attention mechanism to use SageAttention. Supports multiple SageAttention implementations (auto, CUDA, Triton, SageAttention 3) with dynamic patching via ComfyUI's callback system. Automatically detects and logs SageAttention version with CUDA/PyTorch information. Compatible with ComfyUI's attention function format. See Release Notes v2.2.0 for details.

  • v2.0.0 – Added Qwen3-VL and Nunchaku model purging support to DisTorchPurgeVRAMV2 node. Qwen3-VL models can now be purged from GPU memory with device_map="auto" support. Nunchaku models (FLUX/Z-Image/Qwen-Image) can be purged with CPU offload handling. Enhanced CUDA cache clearing to support all devices. Fixed any() function name collision with AnyType. Added comprehensive debug logging. Changed display name to ComfyUI-VRAM-Manager. See Release Notes v2.0.0 for details.

  • v1.3.1 – Improved SeedVR2 cache detection and messaging. Removed duplicate messages. Clarified that cache_model=False (default) means models are never cached in GlobalModelCache. Added detailed debug information for cache state. See Release Notes v1.3.1 for details.

  • v1.3.0 – Added SeedVR2 model purging support to DisTorchPurgeVRAMV2 node. Fixed 'NoneType' object is not callable errors in cleanup_models(). Fixed CPU device error in virtual memory reset. Improved path detection for SeedVR2 custom node to work across different user environments. See Release Notes v1.3.0 for details.

  • v1.2.0 – Added Model Patch Memory Cleaner node for ModelPatchLoader model patches (patch model format). Prevents OOM during upscaling after ModelPatchLoader usage. Handles exceptional patch model format different from standard ControlNet models. Enhanced DisTorchPurgeVRAMV2 with more aggressive model unloading, improved error handling, and safe None checks. Added SeedVR2 support to purge DiT and VAE models from cache. Fixed CPU device error in virtual memory reset. Improved error handling in cleanup_models() and is_dead() methods in ComfyUI core. See Release Notes v1.2.0 for details.

  • v1.10.1 – Hotfix ensuring DisTorch Purge VRAM V2 node ships inside the package.

  • v1.10 – Added the LayerUtility: Purge VRAM V2 compatibility node within DisTorch Memory Manager.

  • v1.1.0 – Added ANY type I/O support, simplified node names, moved category to "Memory".

  • v1.0.0 – Initial release with core memory management features.