ComfyUI Multi GPU: Mehrere GPUs nutzen, ohne Workflows zu zerstören
Lerne, was ComfyUI mit mehreren GPUs kann und was nicht, wie `--cuda-device` funktioniert und wie du getrennte ComfyUI-Instanzen auf unterschiedlichen Ports startest.
ComfyUI kann auf einer bestimmten GPU laufen, und du kannst mehrere ComfyUI-Instanzen auf unterschiedlichen GPUs betreiben.
Wenn du nach comfyui multi gpu suchst, ist die Kurzfassung:
- ein normaler Workflow bleibt meistens auf genau einer ausgewählten GPU
- der praktikable Zwei-GPU-Weg sind meist zwei ComfyUI-Instanzen auf zwei Ports
--cuda-deviceist das verlässlichste Flag für "nutze GPU 1 statt GPU 0"
Die meisten Nutzer kommen stabiler ans Ziel, wenn sie je eine ComfyUI-Instanz pro GPU starten, statt zu erwarten, dass ein einzelner KSampler sich automatisch über mehrere Karten verteilt.
Schnellantwort
| Ziel | Beste Lösung | Beispiel |
|---|---|---|
| GPU 1 statt GPU 0 verwenden | ComfyUI mit --cuda-device 1 starten | python main.py --cuda-device 1 |
| Zwei Queues parallel laufen lassen | Zwei ComfyUI-Instanzen auf verschiedenen Ports starten | --cuda-device 0 --port 8188, --cuda-device 1 --port 8189 |
| Alle GPUs sichtbar lassen, aber eine bevorzugen | --default-device nur bewusst verwenden | python main.py --default-device 1 |
| Einen KSampler über mehrere GPUs aufteilen | Standardmäßig meist nicht unterstützt | Nur mit Modellen oder Nodes, die das ausdrücklich unterstützen |
| VRAM-Druck reduzieren | VRAM-Flags oder kleinere Workflows nutzen | --lowvram, kleinere Auflösung, quantisierte Modelle |
Was Multi GPU in ComfyUI wirklich bedeutet
Viele Nutzer werfen drei Dinge zusammen:
- Eine GPU auswählen: ComfyUI läuft gezielt auf einem Gerät.
- Mehrere Instanzen starten: zwei Browser-Sessions, zwei Ports, zwei Queues, zwei GPUs.
- Einen Workflow über mehrere GPUs aufteilen: ein einzelnes Modell oder ein einzelner Workflow nutzt mehrere GPUs gleichzeitig.
Die ersten beiden Muster funktionieren gut. Das dritte ist im normalen ComfyUI-Alltag nicht der Standard.
Schritt 1: GPUs prüfen
Auf Windows oder Linux mit NVIDIA-GPUs:
nvidia-smiDie linke Spalte zeigt dir meist die GPU-Indizes. Die erste Karte ist meistens 0, die zweite 1.
Prüfe danach, ob PyTorch CUDA überhaupt sieht:
python -c "import torch; print(torch.cuda.device_count()); print(torch.cuda.get_device_name(0))"Wenn torch.cuda.device_count() 0 zurückgibt, hast du noch kein Multi-GPU-Problem, sondern zuerst ein PyTorch-/CUDA-Installationsproblem. Dann starte mit GPU Compatibility.
Schritt 2: Eine GPU mit --cuda-device auswählen
Für eine manuelle Installation:
python main.py --cuda-device 1Für das Windows-Portable-Paket bearbeite oder kopiere deine Start-.bat und füge das Flag hinter main.py ein:
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --cuda-device 1Die offiziellen ComfyUI-Argumente beschreiben --cuda-device so, dass diese Instanz genau dieses CUDA-Gerät benutzt und die anderen Geräte für diesen Prozess ausgeblendet werden.
Das bedeutet auch: Innerhalb dieses Prozesses kann ComfyUI trotzdem cuda:0 ausgeben. Das ist normal, wenn für diesen Prozess nur noch eine GPU sichtbar ist.
Schritt 3: Zwei Instanzen auf zwei GPUs starten
Nutze verschiedene Ports, damit sich die beiden Server nicht in die Quere kommen.
Instanz A:
python main.py --cuda-device 0 --port 8188Instanz B:
python main.py --cuda-device 1 --port 8189Dann öffne:
http://127.0.0.1:8188
http://127.0.0.1:8189Das ist das robusteste Multi-GPU-Muster für produktive Arbeit: eine Queue pro GPU.
Für dauerhaft parallele Nutzung getrennte user directories einplanen
Wenn beide Instanzen regelmäßig laufen, helfen getrennte --user-directory-Pfade dabei, Browser-Zustand, Tabs und Benutzereinstellungen sauber zu trennen.
Beispiel:
python main.py --cuda-device 0 --port 8188 --user-directory user-gpu0
python main.py --cuda-device 1 --port 8189 --user-directory user-gpu1Schritt 4: --default-device richtig einordnen
ComfyUI kennt auch --default-device. Dieses Flag setzt das Standardgerät, während andere Geräte sichtbar bleiben.
Das klingt attraktiv, ist aber nicht dasselbe wie automatische Multi-GPU-Ausführung. Nutze es nur dann, wenn dein Workflow, ein Custom Node oder ein fortgeschrittenes Setup bewusst mehrere sichtbare Geräte braucht.
Für die meisten Nutzer ist --cuda-device einfacher und verlässlicher.
Schritt 5: Multi GPU nicht als VRAM-Zaubertrick missverstehen
Wenn ein Workflow auf einer GPU wegen VRAM scheitert, macht eine zweite GPU dasselbe Modell nicht automatisch passend. Probiere zuerst:
- Auflösung reduzieren
- Batch-Größe senken
- andere GPU-intensive Programme schließen
- bei Bedarf quantisierte Modelle verwenden
- ComfyUI mit
--lowvramstarten - ein kleineres Modell oder einen leichteren Workflow nutzen
Für die systematische Diagnose siehe Python Out of Memory in ComfyUI.
Häufige Fehler
| Fehler | Warum es schiefgeht | Besserer Weg |
|---|---|---|
| Zwei Browser-Tabs auf demselben Server öffnen | Beide Tabs verwenden denselben ComfyUI-Prozess | Einen zweiten Prozess auf einem anderen Port starten |
--cuda-device 1 an der falschen Stelle einfügen | Das Flag wird nicht an main.py übergeben | Direkt hinter main.py platzieren |
| Erwarten, dass ein Workflow automatisch auf zwei GPUs verteilt wird | Standard-Nodes laufen meist auf einem gewählten Gerät | Zwei getrennte Queues oder spezialisierte Nodes verwenden |
Zwei Instanzen beide auf Port 8188 starten | Nur ein Prozess kann den Port besitzen | 8188 und 8189 verwenden |
| CPU-only-PyTorch installiert haben | ComfyUI kann keine NVIDIA-GPU nutzen | PyTorch mit CUDA neu installieren |
So prüfst du, ob das Setup stimmt
Lies nach dem Start die Ausgabe im Terminal. Du willst dort deine GPU nahe der Device-Zeile sehen:
Device: cuda:0 NVIDIA GeForce ...Beobachte dann nvidia-smi, während du etwas generierst. Wenn zwei Instanzen laufen, schicke einen kleinen Workflow in beide Queues und prüfe, ob beide GPUs Aktivität zeigen.
Wenn nur eine GPU arbeitet, prüfe:
- welchen Port dein Browser gerade nutzt
- ob beide Prozesse wirklich noch laufen
- ob jeder Startbefehl ein anderes
--cuda-devicehat - ob die zweite Instanz wegen Port-Konflikt gar nicht gestartet ist
Wie Wonderful Launcher dabei hilft
Wonderful Launcher ist dann sinnvoll, wenn du lieber mehrere stabile ComfyUI-Umgebungen betreiben willst statt einen fragilen Einzelordner:
- eine saubere GPU-0-Umgebung für Standardbilder
- eine separate GPU-1-Umgebung für Experimente oder Video-Nodes
- weniger Abhängigkeitskonflikte zwischen verschiedenen Queues
- funktionierende Workflows bleiben erhalten, bevor du Start-Flags änderst
Wenn du noch bei der Hardware-Wahl bist, beginne mit GPU Compatibility. Wenn ComfyUI zwar startet, der Browser aber ständig abreißt, lies ComfyUI Reconnecting Error.
Verwandte Leitfäden
- GPU Compatibility
- Python Out of Memory in ComfyUI
- ComfyUI Reconnecting Error
- ComfyUI Dependency Conflicts
Quellen
Wenn dieses Problem deine echte ComfyUI-Umgebung betrifft, starte kostenlos mit Wonderful Launcher. Reparaturfluss, Aufgabenlogs und Laufzeitprüfungen bleiben im Launcher an einem Ort; Credits sind für Bildgenerierung und messbare Tools.
Wonderful Launcher herunterladenCredit-Pakete ansehenDid this fix your issue?
Your answer helps prioritize verified ComfyUI repairs.
ComfyUI ControlNetApplyAdvanced class_type beheben
Behebe ComfyUI ControlNetApplyAdvanced class_type, node id has no class_type und Apply ControlNet Advanced missing, indem du Workflow-JSON, ComfyUI-Version, ControlNet-Modelle und Preprocessor trennst.
Preise und Credits erklärt
Verstehe, was Wonderful Launcher Credits abdecken, was kostenlos bleibt und welches Paket zu deinem Bedarf passt.