Update README.md
This commit is contained in:
@@ -1,38 +1,44 @@
|
||||
# ComfyUI-Distributed
|
||||
<div align="center">
|
||||
<img width="1680" height="889" alt="image" src="https://github.com/user-attachments/assets/8bbb992a-2c81-4674-a7a1-c093a6215ffc" />
|
||||
<br><br>
|
||||
<a href="">📺Video Tutorial</a> |
|
||||
<a href="">📝Setup Guides</a> |
|
||||
<a href="https://github.com/robertvoy/ComfyUI-Distributed/tree/main/workflows">⚙️Workflows</a> |
|
||||
<a href="https://buymeacoffee.com/robertvoy">🎁Donation</a>
|
||||
<br><br>
|
||||
</div>
|
||||
|
||||

|
||||
|
||||
> **Supercharge your ComfyUI workflows with multi-GPU processing**
|
||||
|
||||
A powerful extension for ComfyUI that enables parallel and distributed processing across multiple GPUs and machines. Speed up your image generation and upscaling workflows by leveraging all available GPU resources in your network.
|
||||
|
||||
📺 [Watch the Tutorial](https://www.youtube.com/watch?v=p6eE3IlAbOs)
|
||||
> **A powerful extension for ComfyUI that enables distributed and parallel processing across multiple GPUs and machines. Generate more images and videos and accelerate your upscaling workflows by leveraging all available GPU resources in your network.**
|
||||
|
||||
---
|
||||
|
||||
## Key Features
|
||||
|
||||
#### Parallel Workflow Processing
|
||||
- **Parallel Generation** - Run the same workflow on multiple GPUs simultaneously with different seeds
|
||||
- **Automatic Load Balancing** - Distribute workflow execution across available workers
|
||||
- **Batch Acceleration** - Generate multiple variations faster by using all your GPUs
|
||||
- Run the same workflow on multiple GPUs simultaneously with different seeds
|
||||
- Get multiple outputs in the same time it takes to generate one
|
||||
- The more workers you have, the more output you get
|
||||
- Supports both video and images
|
||||
|
||||
#### Distributed Upscaling
|
||||
- **True Distributed Processing** - Split large upscaling tasks into tiles processed across multiple GPUs
|
||||
- **Tile-based Upscaling** - Intelligent work distribution for Ultimate SD Upscale
|
||||
- Supercharge Ultimate SD Upscale by having tiles processed across multiple GPUs
|
||||
- Intelligent work distribution for asymmetrical GPU setups
|
||||
- Static distribution for similar/same GPUs
|
||||
- Supports both single images and image batches
|
||||
|
||||
#### Management & Monitoring
|
||||
- **Automatic Worker Management** - Launch and monitor workers from the UI
|
||||
- **Worker Management** - Launch and monitor workers from the UI
|
||||
- **Network Support** - Use GPUs across different machines on your network
|
||||
- **Cloud Support** - Use GPUs from cloud providers
|
||||
- **Real-time Monitoring** - Track worker status and performance from the UI
|
||||
- **Easy Configuration** - JSON-based configuration with UI controls
|
||||
- **Memory Management** - Built-in VRAM clearing
|
||||
|
||||
---
|
||||
|
||||
## Requirements
|
||||
|
||||
- ComfyUI installation
|
||||
- Desktop app not supported currently
|
||||
- Multiple GPUs
|
||||
- That's it
|
||||
|
||||
@@ -45,61 +51,11 @@ A powerful extension for ComfyUI that enables parallel and distributed processin
|
||||
git clone https://github.com/robertvoy/ComfyUI-Distributed.git
|
||||
```
|
||||
|
||||
2. **Restart ComfyUI** - If you'll be using remote workers, add `--enable-cors-header` to your launch arguments
|
||||
2. **Restart ComfyUI** - If you'll be using remote/cloud workers, add `--enable-cors-header` to your launch arguments on the master
|
||||
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Adding Local Workers
|
||||

|
||||
> Local Workers: Additional ComfyUI instances running on the same computer (with multi-GPUs) as your main ComfyUI installation.
|
||||
|
||||
1. **Open** the Distributed GPU panel.
|
||||
2. **Click** "Add Worker" in the UI.
|
||||
3. **Configure** your local worker:
|
||||
- **Name**: A descriptive name for the worker (e.g., "My Gaming PC GPU 0")
|
||||
- **Port**: A unique port number for this worker (e.g., 8189, 8190...).
|
||||
- **CUDA Device**: The GPU index from `nvidia-smi` (e.g., 0, 1).
|
||||
- **Extra Args**: Optional ComfyUI arguments for this specific worker.
|
||||
4. **Save** and optionally launch the local worker.
|
||||
|
||||
### Adding Remote Workers
|
||||
📺 [Watch the Tutorial](https://www.youtube.com/watch?v=p6eE3IlAbOs)
|
||||
|
||||
> Remote Workers: ComfyUI instances running on completely different computers on your network. These allow you to harness GPU power from other machines. Remote workers must be manually started on their respective computers and are connected via IP address.
|
||||
|
||||
1. **On the Remote Worker Machine:**
|
||||
- **Launch** ComfyUI with the `--listen --enable-cors-header` arguments. ⚠️ **Required!**
|
||||
- **Add** workers in the UI panel if the remote machine has more than one GPU.
|
||||
- Make sure that they also have `--listen` set in `Extra Args`.
|
||||
- Then launch them.
|
||||
- **Open** the configured worker port(s) (e.g., 8189, 8190) in the remote worker's firewall.
|
||||
|
||||
2. **On the Main Machine:**
|
||||
- **Open** the Distributed GPU panel (sidebar on the left).
|
||||
- **Click** "Add Worker."
|
||||
- **Enable** "Remote Worker" checkbox.
|
||||
- **Configure** your remote worker:
|
||||
- **Name**: A descriptive name for the worker (e.g., "Server Rack GPU 0")
|
||||
- **Host**: The remote worker's IP address.
|
||||
- **Port**: The port number used when launching ComfyUI on the remote worker (e.g., 8189).
|
||||
- **Save** the remote worker configuration.
|
||||
|
||||
### Configuration Tips
|
||||
|
||||
| Setting | Description | Example |
|
||||
|---------|-------------|---------|
|
||||
| **CUDA Devices** | Use `nvidia-smi` to see GPU indices | 0, 1, 2... |
|
||||
| **Ports** | Each worker needs a unique port | 8189, 8190... |
|
||||
| **Extra Args** | Additional ComfyUI arguments | See below |
|
||||
|
||||
**Common Extra Args:**
|
||||
- `--listen` - **Required** for remote workers
|
||||
- `--enable-cors-header` - **Required** if using remoter workers
|
||||
- `--lowvram` - For GPUs with less memory
|
||||
- `--highvram` - For high-end GPUs
|
||||
- `--reserve-vram 2` - Reserves 2GB of VRAM. Recommended for your primary/display GPU
|
||||
|
||||
---
|
||||
|
||||
@@ -166,47 +122,6 @@ The control centre for your distributed setup:
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
<details>
|
||||
<summary><b>Workers won't start</b></summary>
|
||||
|
||||
- Check ports are not in use: `netstat -an | grep 8189`
|
||||
- Verify CUDA device exists: `nvidia-smi`
|
||||
- Check ComfyUI path in worker logs
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>"Worker not managed by UI" message</b></summary>
|
||||
|
||||
- Worker was started outside the UI
|
||||
- Stop the worker manually and use the UI to relaunch
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Images not combining properly</b></summary>
|
||||
|
||||
- Ensure all remote workers have the same models available
|
||||
- Check that custom nodes are installed on all remote workers
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Network connection issues</b></summary>
|
||||
|
||||
- Check firewall settings for required ports
|
||||
- Verify master IP is accessible: `ping 192.168.1.100`
|
||||
- Ensure same ComfyUI version on all machines
|
||||
- Ensure ComfyUI-Distributed is installed on remote workers
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><b>Custom validation failed for node: image - Invalid image file</b></summary>
|
||||
|
||||
- Add `--enable-cors-header` to your launch argument, on both master and remote worker
|
||||
</details>
|
||||
|
||||
## UI Panel Settings
|
||||
|
||||
The Distributed GPU panel includes several configuration options in the Settings section:
|
||||
@@ -231,11 +146,3 @@ The Distributed GPU panel includes several configuration options in the Settings
|
||||
## Development
|
||||
|
||||
This project is under active development. Contributions are welcome!
|
||||
|
||||
### Planned Features
|
||||
|
||||
- [x] Support for Cloud workers (release coming soon)
|
||||
- [ ] Remote worker control via SSH
|
||||
- [ ] View remote worker logs in UI
|
||||
- [ ] Improve worker timeout logic
|
||||
- [ ] ComfyUI Desktop app compatibility
|
||||
|
||||
Reference in New Issue
Block a user