city96 / ComfyUI_NetDist

Run ComfyUI workflows on multiple local GPUs/networked machines.
Apache License 2.0
234 stars 26 forks source link

Skip local generation #26

Open MaxTretikov opened 3 weeks ago

MaxTretikov commented 3 weeks ago

Have a remote that is vastly faster than local. I'd like the local to continue doing tasks while the remote generates the next image in a sequence. Tried setting local batch size to 0 but that just raises an error. This is a duplicate of #12 but the author of that issue pulled a DenverCoder9 and didn't specify what they did. Adding this so that if I figure it out I can post here.

MaxTretikov commented 3 weeks ago

If it's supposed to be enabled = remote, that doesn't work for me. Frankly I have no idea what that's even supposed to do. https://github.com/city96/ComfyUI_NetDist/blob/main/nodes/simple.py#L72 basically just says that if enabled = false, return seed, set batch count to local batch count, and return empty remote info. Makes sense so far. If enabled = remote, return seed plus local batches (?), set batch count to remote batch count (??), and return empty remote info, disabling remote.

MaxTretikov commented 3 weeks ago

Ok, enabled = remote is what the prompt logic in dispatch_to_remote changes the node to before sending the whole prompt to the remote, i.e. it gives the remote a different seed to the local, gives it the remote batch count, and disables the remote so that the remote isn't calling itself. This option should be hidden to the user if possible as it's quite confusing. It looks like I'm going to have to make a PR here so I'll address that.

MaxTretikov commented 3 weeks ago

Different local and remote behaviors can be scheduled by changing the prompt variable in queue after the dispatch_to_remote call. Just used it to change step size of local to 1 while remote stays at 20. Going to make a new option in enabled and have the prompt completely restructured to just be an empty image.