Commit Graph
28 Commits
Author SHA1 Message Date
John Pollock caee8716b6 Refactor - intermediate step of Implementing MultiGPU node registration and class definition retrieval for custom nodes 2024-12-30 07:54:57 -06:00
John Pollock 0b3ba045c4 Change loading to a determinsitc process by querying each node. This relies upon each node's idempotency that will need to get checked. 2024-12-28 13:39:23 -06:00
John Pollock e4b570de43 contunued NF4, working towards general solution. 2024-12-28 12:13:21 -06:00
John Pollock d9f7ab23e5 debugging NF4 loader issue and sequence loading in general.
Have a method that works, broke it, so re-assembling it slowly.

This is the initial commit where N4 is importint correctly.
2024-12-28 12:03:07 -06:00
John Pollock 67c1641ab2 Update to examples to include CPU offloads, as well as update readme.md with new examples and their requirements to run. 2024-12-27 13:22:16 -06:00
John Pollock 4a45737583 Update README for clarity on multi-GPU and CPU offloading capabilities; correct example JSON link 2024-12-27 04:59:32 -06:00
John Pollock d13f821547 Bump version to 1.1.0 and update README to reflect CPU offloading capabilities; rename example JSON for clarity 2024-12-27 04:54:21 -06:00
John Pollock d099ecd497 Enhance device selection in get_torch_device_patched and override_class to include 'cpu' as a valid option for multi-GPU support 2024-12-27 03:06:50 -06:00
John Pollock dead358227 Add MMAudioSampler to experimental audio model loaders in __init__.py so it stays in sync with the Model and FeatureUtils Loaders. I suspect this is because it is querying the cuda device directly. This would give the wrong answer half the time depending on how the other loaders were ran via the sequencing logic.
This will sync up those cuda device queries with the patched version from MultiGPU.
2024-12-26 14:59:16 -06:00
John Pollock 94cf7d9779 Update project description and version in pyproject.toml; add experimental audio model loaders in __init__.py 2024-12-26 08:30:27 -06:00
John Pollock a58fb9258b Refactor README.md for improved clarity and for compliance to markdown format 2024-12-25 08:54:16 -06:00
John Pollock 38e476e8da Update project description and version in pyproject.toml 2024-12-25 08:40:41 -06:00
John Pollock 065679af4d Refactor README.md for clarity and consistency in multi-GPU usage documentation 2024-12-25 08:33:26 -06:00
John Pollock 07a66fd8b3 Add documentation for using GGUF quantized models across GPUs for video generation 2024-12-24 21:29:31 -06:00
John Pollock 211b957f75 Adding hunyuan video 2 gpu example workflow. 2024-12-24 21:19:47 -06:00
John Pollock 88502d74b2 fixed copy/paste error 2024-12-24 11:13:12 -06:00
John Pollock 71ee2809a8 Minor changes to README.md to reflect edits from Reddit post 2024-12-24 11:11:36 -06:00
pollockjj e4e701a16a Merge pull request #1 from ComfyNodePRs/pyproject
Add pyproject.toml for Custom Node Registry
2024-12-24 10:55:36 -06:00
pollockjj 9ce9db80ca Merge pull request #2 from ComfyNodePRs/publish
Add Github Action for Publishing to Comfy Registry
2024-12-24 10:54:43 -06:00
pollockjj 924ea16c81 Update pyproject.toml
added my PublisherId
2024-12-24 10:44:01 -06:00
John Pollock c60771ace4 docs: update README to include new MultiGPU loaders and clarify workflow steps 2024-12-23 16:54:01 -06:00
John Pollock 19c0abd5ec Updated example workflows, added additional experimental workflows, added coverage for LTX loader 2024-12-23 15:39:23 -06:00
John Pollock 56e2e61e52 refactor: streamline MultiGPU node initialization
Code Changes (__init__.py):
- Switches from deepcopy to standard copy for better efficiency
- Initializes current_device from model_management instead of hardcoded "cuda:0"
- Simplifies node class mapping by removing intermediate TARGET_NODE_CLASS_MAPPINGS
- Updates node naming convention: removes underscore from MultiGPU suffix
- Adds new supported nodes: "CheckpointLoaderSimple", "ControlNetLoader", "LoadFluxControlNet"
- Improves code organization with better comment clarity

COMPATIBILITY NOTE: This version restores backward compatibility with workflows
using the previous node naming scheme. Both old and new node names will work.

Documentation Changes (README.md):
- Updates node list to reflect automatic detection system
- Adds proper attribution links for required dependencies (ComfyUI-GGUF, x-flux-comfy)
- Links to example quantized models like flux1-dev-gguf
- Reorganizes loader sections with clear dependency requirements
- Updates support links to new maintainer
- Removes business/commercial references
- Updates credits section to reflect current project status
2024-12-22 22:36:59 -06:00
John Pollock a652a7f264 refactor: adopt City96's streamlined MultiGPU implementation
BREAKING CHANGE: This replaces the existing MultiGPU implementation with a new system
designed by City96 (https://v100s.net/). Users with existing workflows using the older
MultiGPU nodes will need to update their workflows.

The new implementation by City96 significantly improves the codebase:
- Replaces manual class definitions with a dynamic class override system
- Reduces code from 400+ lines to ~50 through smart use of inheritance
- Handles all loader types via TARGET_NODE_NAMES configuration
- Provides consistent behavior across standard and GGUF loaders
- Creates a unified "multigpu" category for better organization

The system creates MultiGPU versions of nodes by wrapping original classes through
an override mechanism, maintaining functionality while adding device selection.

Migration:
- Replace old MultiGPU nodes with new versions (same names with "_MultiGPU" suffix)
- Node functionality remains the same, only the implementation has changed
2024-12-22 08:28:35 -06:00
snomiao 5182bfe5e3 chore(pyproject): Add pyproject.toml for Custom Node Registry 2024-12-20 23:50:41 +00:00
snomiao 6963fa087a chore(publish): Add Github Action for Publishing to Comfy Registry 2024-12-20 23:50:40 +00:00
John Pollock 186723f34d Add mochi and ltxv support to CLIPLoaderMultiGPU 2024-12-18 17:01:01 -06:00
Alexander Dzhoganov b5462877f3 Initial commit 2024-08-04 19:36:59 +03:00