John Pollock
8f3ff06fa3
rename files for consistency, new DisTorch examples
2025-01-28 05:19:50 -06:00
pollock
c07a345c45
Fix case sensitivity in module check for HunyuanVideoWrapper in __init__.py
2025-01-27 18:32:20 -05:00
John Pollock
7ccea97c52
Update device allocation format and enhance module check for case insensitivity in __init__.py
2025-01-27 17:24:15 -06:00
John Pollock
c74f66b9ad
icon
2025-01-27 23:06:56 -06:00
John Pollock
3dbfcc7135
Chasing down bug causing incorrect patched device with distorch code. Re-integrated distorch into __init__.py as one of the consequences.
2025-01-25 17:49:12 -06:00
John Pollock
d67b18474a
Merge branch 'dev' of https://github.com/pollockjj/ComfyUI-MultiGPU into dev
2025-01-24 21:06:10 -06:00
John Pollock
b99e152686
Refactor GGUF model patcher to enhance device handling and introduce model hashing for allocation tracking
2025-01-24 21:06:01 -06:00
pollock
101fb49848
Refactor model hash creation and logging for clarity; remove unnecessary logging statements in distorch.py
2025-01-24 11:00:38 -05:00
pollock
ef614f840e
Move distorch parameter storage from model attachment (non-working) to global table with hash.
2025-01-24 09:22:43 -05:00
pollock
2ac057d338
Implement model hash creation and allocation storage for MultiGPU support in GGUF model patcher
2025-01-24 05:37:17 -05:00
John Pollock
624c893942
Refactored into init.py and distorch.py
2025-01-23 13:16:18 -06:00
pollock
43d7d1582d
Refactor UnetLoaderGGUF registration to support MultiGPU and DisTorch versions
2025-01-23 12:00:24 -05:00
pollock
b8f314921c
Refactor imports and logging messages for clarity and consistency
2025-01-23 08:50:48 -05:00
John Pollock
d9899d4df1
Refactor GGUF model patcher and analysis functions to improve device handling and logging
2025-01-21 06:50:10 -06:00
John Pollock
5eb03a220a
Add .vscode/settings.json to .gitignore to exclude IDE-specific settings, DisTorch work in progress. Clip also loaded and distributed. Much WIP.
2025-01-21 02:50:10 -06:00
John Pollock
d8d122f397
Refactor MultiGPU module registration and improve device handling logic towards releasing on :main:
2025-01-20 12:11:12 -06:00
John Pollock
1a3cc9d151
Refactor MultiGPU device handling and improve logging for better traceability
2025-01-20 11:34:14 -06:00
John Pollock
455a4ef3f8
Refactor code structure for improved readability and maintainability
2025-01-20 07:40:33 -06:00
John Pollock
a7c424f238
Continued clean-up of DisTorch code.
2025-01-19 21:04:16 -06:00
John Pollock
018aec49b0
Add detailed logging for MultiGPU device memory allocation analysis
2025-01-19 17:00:26 -06:00
John Pollock
f119787bee
ggml learning
2025-01-19 14:24:11 -06:00
John Pollock
e73c8bd5e3
Add experimental DiffSynth block-swapping support via new GPU offload device
...
- Adds HyVideoModelLoaderDiffSynthMultiGPU node implementing DiffSynth block-swapping
- Introduces offload_device selection for secondary GPU utilization
- Updates documentation with known behaviors and expected OOM patterns
- Adds example workflow demonstrating higher resolution/longer duration video generation
- Maintains backwards compatibility with existing MultiGPU workflows
2025-01-15 06:53:59 -06:00
John Pollock
3ade69a38e
Merge branch 'main' into dev
...
give new dev branch proper start
2025-01-14 22:12:25 -06:00
John Pollock
54157b59b6
adding animated icon
2025-01-14 15:32:12 -06:00
John Pollock
a19bf2755b
modified aspect ratio of icon
2025-01-12 13:24:38 -06:00
John Pollock
20ba9d099c
fix: Bump version to 1.3.1 and update icon URL to raw GitHub link
2025-01-12 11:17:47 -06:00
John Pollock
92652cf816
feat: Update project description to include CPU device selection and bump version to 1.3.0; add icon URL for ComfyUI-MultiGPU
2025-01-12 11:08:41 -06:00
John Pollock
4e253c5d9a
docs: Update README to reflect hunyuanvideowrapper examples and additional example for DeviceSelectorMultiGPU usage
2025-01-12 11:00:18 -06:00
John Pollock
5c6b55c61c
added icon for comfy registry
2025-01-12 10:36:14 -06:00
John Pollock
2447586cf4
Added examples of device_selector node, include use with kijai's hunyuanvideowrapper custom_node showing both methods of usage
2025-01-11 17:58:15 -06:00
John Pollock
3814340e45
added test inpaint image from https://github.com/alimama-creative/FLUX-Controlnet-Inpainting
2025-01-11 10:36:50 -06:00
John Pollock
ba24f572ee
feat: Add DeviceSelectorMultiGPU node and device selection functionality - allowing the linking of one or more MultiGPU nodes to the same cuda device in cases where this would prevent accidental errors if should there be a device mismatch futher along in the pipeline due to non-loader nodes performing device-specific tasks or logic.
2025-01-11 10:03:40 -06:00
John Pollock
5c3c1a7f3b
feat: Implement MultiGPU support for Hunyuan models and add module existence checks
...
Nodes work, investating how determinisitically we MultiGPU can play nice with these nodes.
2025-01-07 12:18:03 -06:00
John Pollock
61c9204207
Merge branch 'dev' of https://github.com/pollockjj/ComfyUI-MultiGPU into dev
...
sync with upstream
2025-01-07 07:51:43 -06:00
John Pollock
6faebe85d7
syncing with latest release from :main:
2025-01-07 06:51:01 -06:00
John Pollock
116dd935f2
chore: Rename publish workflow file and update version to 1.2.1 in pyproject.toml
2025-01-05 16:03:53 -06:00
John Pollock
4611332d12
chore: Bump version to 1.2.0 in pyproject.toml
2025-01-04 19:44:05 -06:00
John Pollock
3ce3598a5d
feat: Add initial MultiGPU support for Pulid model, added module existence checks before creating MultiGPU node variant
2025-01-02 22:11:28 -06:00
John Pollock
edcd5cc612
Merge branch 'main' of https://github.com/pollockjj/ComfyUI-MultiGPU
2025-01-02 21:15:08 -06:00
John Pollock
4aec967384
fix: hard coded all supported nodes. If the parent custom_node is installed then it will inherit the needed functionality at run-time, fully eliminating any load depenencies. No outside custom_nodes need to be pre-loaded and no python is inspected. New MultiGPU variants are created in a self-contained manner.
2025-01-02 21:09:39 -06:00
John Pollock
26771e4b94
intermediate commit - code to constuct nodes from working example (e.g. when a custom_node loads before MultiGPU and we have the registered data.
2025-01-02 15:06:14 -06:00
John Pollock
fb522a4d97
Fix inheritance issues in register_module_new by using shared namespace for node definitions
...
Still broken, WIP
2025-01-02 07:18:01 -06:00
John Pollock
1d12e2ee1f
feat(multigpu): generalize LTX module registration for custom nodes
...
Refactored node registration to handle any custom node type by extracting class definitions from source files and injecting wrapper code with proper indentation. Replaces hardcoded LTX module registration while maintaining identical functionality. Successfully tested with LTXVLoader node.
2024-12-31 15:51:43 -06:00
John Pollock
3f57e7fe83
intermediate step
2024-12-31 05:04:41 -06:00
John Pollock
a725a7bc03
Add new module registration function to extract and log node definitions
2024-12-31 03:30:00 -06:00
John Pollock
1d020adbdb
feat: Add hard-coded registration for LTX and Florence2 nodes with module existence checks
2024-12-30 22:22:52 -06:00
John Pollock
1e553cfe22
Add utility function to check module existence before registration for hard-coded MultiGPU nodes
2024-12-30 21:00:48 -06:00
John Pollock
198365dfbe
Add hard-coded registration for LTX and Florence2 nodes in MultiGPU setup for debug purposes.
...
Actual nodes pick up the underlying structure at runtime now that the global NODE_CLASS_MAPPINGS has been updated with their information, I pull it directly from there.
A work-around for the loading sequencing problems, but hopefully one that requrires little upkeep as any changes to the underlying structure is picked-up at runtime.
2024-12-30 20:48:41 -06:00
John Pollock
9464cf6cc1
fix: Enhance error handling during module execution in MultiGPU registration
2024-12-30 15:13:12 -06:00
John Pollock
4ac8d33270
fix: Use local module dictionary instead of global for custom node registration
...
- Added a local_map_name ("NODE_CLASS_MAPPINGS") and retrieve it from the module
immediately after loading.
- If the local dictionary exists, wrap the target nodes from there, rather than
relying on the global dictionary.
- Removed references to GLOBAL_NODE_CLASS_MAPPINGS for custom nodes and replaced
them with the local module mapping lookup.
2024-12-30 11:17:31 -06:00