26 Commits
Author SHA1 Message Date
John Pollock 0b438f7a8b Refactor code for improved readability and performance
- Cleaned up unnecessary whitespace and comments in model_management_mgpu.py, nodes.py, wanvideo.py, and wrappers.py for better code clarity.
- Replaced list comprehensions with direct list conversions in nodes.py for efficiency.
- Updated memory logging format in model_management_mgpu.py to streamline data capture.
- Enhanced device management in wanvideo.py by ensuring consistent device setting and loading.
- Added linting configurations in pyproject.toml to enforce code quality standards.
- Removed unused imports and optimized existing ones across multiple files.
2026-03-06 05:59:12 -06:00
Your Name 7af256ab6e fix: harden startup compat and restore low-risk MultiGPU helpers 2026-03-06 01:35:50 +00:00
John Pollock 830342453c Update from Pull Request #122 review 2025-10-10 15:11:25 -05:00
John Pollock 40d40ef9b6 Finished implementation of wanvideowrapper nodes, updated example workflows, added some benchmarking files for reference. 2025-10-10 13:40:37 -05:00
John Pollock db931d66c3 Add WanVideoControlnetLoader class for loading ControlNet models 2025-10-10 09:30:46 -05:00
John Pollock faef324975 correcting implementation of salvagable nodes and obiliterating one abomination 2025-10-10 09:28:58 -05:00
John Pollock 610c2102dd Add multi-GPU support for remaining planned WanVideo model loaders 2025-10-10 04:35:16 -05:00
John Pollock 375cbd093c Add LoadWanVideoClipTextEncoder and WanVideoClipVisionEncode for multi-GPU support 2025-10-09 19:05:28 -05:00
John Pollock 2f605e0db3 Add WanVideoVACEEncode and enhance WanVideoEncode for multi-GPU support
- Implemented WanVideoVACEEncode class for encoding with VACE, including input parameters for width, height, number of frames, and strength.
- Enhanced WanVideoEncode class to support multi-GPU encoding, with additional parameters for noise augmentation and latent strength.
- Updated device management to ensure proper device context during encoding processes.
2025-10-09 14:41:53 -05:00
John Pollock b04ae1e378 Coverted WanVideoImageToVideoEncode to shim 2025-10-09 12:32:29 -05:00
John Pollock f0313e49aa WanVideoDecode cleanup 2025-10-09 08:12:26 -05:00
John Pollock 15ff29c63b methodological convergence and cleanup 2025-10-09 03:06:25 -05:00
John Pollock 7c87983d72 WIP 2025-10-08 23:06:54 -05:00
John Pollock 04013c3ee5 feat: add WanVideoTextEncodeCached and WanVideoTextEncodeSingle classes for enhanced text encoding functionality 2025-10-08 06:08:16 -05:00
John Pollock d300c12e9f feat: add WanVideoBlockSwap class and integrate into MultiGPU node mappings 2025-10-07 14:22:01 -05:00
John Pollock 27cfb83733 feat: add MultiGPU logging enhancements and new CI scripts for workflow execution and log summarization, WanVidwoWrapper Model Loader/Sampler re-implemented 2025-10-07 13:19:09 -05:00
John Pollock b034901a05 Housecleaning 2025-10-07 04:00:12 -05:00
John Pollock 616a89c23f feat: add multi-GPU WanVideo VAE loader, encode, and decode nodes
- Added imports and registrations for WanVideoVAELoader, WanVideoTinyVAELoader,
  WanVideoImageToVideoEncode, and WanVideoDecode in multi-GPU versions.
2025-10-06 05:53:23 -05:00
John Pollock cfe6ebc70f Re-coded T5 loader and WanVideo Text Encoder 2/24 complete 2025-10-06 00:55:34 -05:00
John Pollock ddfc95d4a6 Deprecate HunyuanVideoWrapper support
Re-synchronize first node for WanVideoWrapper - LoadWanVideoT5TextEncoder
2025-10-05 23:54:41 -05:00
John Pollock 63ff1a4064 committing so we don't lose verbose logging.
- Add comfyui_memory_load and create_model_identifier utilities (device_utils)
- Log GPU memory before/after UNet, VAE, and CLIP construction and after UNet weight load
- Include model identifiers in logs to correlate memory to specific patchers
- Guard logging calls with try/except to avoid impacting load flow
- Improves observability of memory usage for multi-GPU checkpoints and aids OOM/debugging
2025-09-20 11:58:29 -05:00
John Pollock 4d0d4a673f fix for issue https://github.com/pollockjj/ComfyUI-MultiGPU/issues/87: ComfyU-MultiGPU not supporting all device types currently supported by Comfy Core.
Refactor device detection into dedicated utility module

- Extract device enumeration and compatibility checks to device_utils.py
- Add support for additional device types (NPU, MLU, DirectML, CoreX)
- Update all modules to use centralized device utilities
- Implement caching for device list to improve performance
- Reduce code duplication across distorch, nodes, and wanvideo modules
2025-08-30 07:39:26 -05:00
John Pollock 5127e1807e sync changes to kijai's nodes
- Adding a new `fantasyportrait_model` input to support FantasyPortrait models.
- Renaming the `vace_model` input to a more generic `extra_model` to allow loading other auxiliary models like VACE or MTV Crafter.
- Correcting the node type for the `fantasytalking_model` from `FANTASYTALKINGMODEL` to `FANTASYTALKMODEL`.
2025-08-29 21:11:11 -05:00
John Pollock 336e236105 Fix for wanvideo bug and add new example 2025-08-29 20:50:55 -05:00
John Pollock e288152dae refactor: Introduce DisTorch V2 architecture
This commit introduces a major architectural refactoring, laying the groundwork for DisTorch V2. The changes focus on improving modularity, memory management, and diagnostics.

Key changes include:
- Renaming `distorch_safetensor.py` to `distorch_2.py` to house the new core logic.
- Deleting the legacy `block_swap.py` module.
- Adding `device_memory_audit.py` for more sophisticated analysis of GPU memory usage.
- Implementing a centralized and configurable logging system in `__init__.py` to provide standardized and level-controlled (DEBUG/INFO) output for better debugging.
2025-08-13 13:37:23 -05:00
John Pollock 898169fccf refactor: Move core logic into separate modules
This commit refactors the codebase by extracting major components from the main `__init__.py` file into their own dedicated modules. This improves code organization, readability, and maintainability.

- **`distorch.py`**: New file containing the `DisTorch` class, which manages multi-GPU device patching and distribution logic.
- **`block_swap.py`**: New file containing the generic `BlockSwap` class for UNet block swapping to manage VRAM.
- **`wanvideo.py`**: New file containing the `WanVideoBlockSwap` class, a specialized implementation for WanVideo models.
- **`__init__.py`**: Simplified to handle node registration and imports from the new modules.
2025-08-10 09:53:33 -05:00