PDG (Procedural Dependency Graph) / TOPs (Task Operator Level) ist Houdinis System zur Definition, Planung und Ausführung von Aufgaben-Abhängigkeiten, das prozedurale Daten- und Render-Pipelines automatisiert, parallelisiert und auf lokale Rechner oder Render-Farmen wie Deadline oder Tractor verteilt.
Rubrik: Software & Tools · Unterrubrik: Houdini · Niveau: Profi Synonyme / Auch bekannt als: TOPs, Task Operators, PDG Graph, Dependency Graph, Houdini Pipeline
Was ist PDG / TOPs?
PDG (Procedural Dependency Graph) ist das Fundament, TOPs (Task Operators) sind die Node-basierte Schnittstelle dazu. Das System erweitert Houdinis Prozeduralität von der Geometrie-Ebene auf die Produktionspipeline-Ebene: Statt manuell Frames zu rendern, Simulationen anzustoßen oder Assets zu konvertieren, wird der gesamte Prozess als gerichteter Aufgaben-Graph modelliert. PDG erkennt Abhängigkeiten, identifiziert parallele Tasks und führt diese effizient aus – lokal auf mehreren CPU-Kernen oder verteilt auf Hunderte von Farm-Nodes.
Erklärung
Architektur: Work Items, Processors und Schedulers
Work Items sind die atomaren Arbeitseinheiten im PDG-System. Ein Work Item repräsentiert eine einzelne Aufgabe (z. B. „Rendere Frame 42 des Shots", „Simuliere Chunk 7 der Fluid-Sim"). Jedes Work Item trägt Attribute: Eingabe-Dateipfade, Parameter-Werte, Output-Pfade.
Processor Nodes (TOP-Nodes) definieren, welche Arbeit geleistet wird:
Houdini Processor: Führt ein.hip-File mit bestimmten Parametern ausROP Fetch: Verbindet PDG mit Houdinis eigenen ROPs (Render Output Processors)Wedge: Erzeugt Variationen durch Parameter-Sweeps (z. B. 50 Varianten mit unterschiedlichem Seed)Python Script: Beliebige Python-Logik als PDG TaskShell Script: Externe Kommandozeilen-BefehleGeneric Generator: Erzeugt Work Items aus Listen, Dateipfaden oder Datenbanken
Scheduler Nodes bestimmen, wo und wie Work Items ausgeführt werden:
Local Scheduler: Parallele Ausführung auf dem lokalen Rechner (CPU-Kerne)Deadline Scheduler: Übergibt Jobs an Thinkbox Deadline (Marktstandard in VFX)Tractor Scheduler: Pixars Tractor Render-Farm-ManagerHQueue Scheduler: SideFXs eigenes Farm-System- Weitere: AWS, Google Cloud (über Community-Plugins)
Dependency Resolution
PDG analysiert den gesamten Task-Graphen und bestimmt automatisch:
- Welche Tasks voneinander abhängen (Upstream-Ergebnisse werden als Input benötigt)
- Welche Tasks parallel ausgeführt werden können
- Welche Tasks gecacht sind und nicht neu berechnet werden müssen
Ändert sich ein Upstream-Node, werden nur die betroffenen Downstream-Tasks neugerechnet – ähnlich wie Houdinis SOP-Cooking, aber auf Pipeline-Ebene.
Der Wedge TOP – Varianten generieren
Der Wedge TOP ist eines der mächtigsten Werkzeuge in PDG. Er erzeugt automatisch N Work Items mit variierten Parameter-Werten. Anwendungsfall: 100 verschiedene Rauch-Simulationen mit unterschiedlichem Seed, Turbulenz und Dissipation, alle parallel auf der Farm berechnet. Das Ergebnis: eine Sammlung von 100 Simulations-Caches, aus denen der Supervisor die beste Variante wählt.
`` Wedge TOP ├── seed: [0..99] ├── turbulence: [0.5 .. 2.0] └── → Simulation Task (DOP Cook) └── → Render Task (Karma) └── → Compositing Task (Nuke) ``
Integration mit ROPs
PDG und ROPs (Render Output Processors) sind eng integriert. Typische ROP-Types, die per PDG gesteuert werden:
- ROP Karma: Karma-Renders über Farm verteilen
- ROP Alembic: Geometrie-Caches als Alembic exportieren
- ROP FLIP/Pyro: Simulations-Caches auf Disk schreiben
- ROP USD: USD-Szenen exportieren
Der ROP Fetch TOP verknüpft einen bestehenden ROP im hip-File mit PDG und verteilt dessen Frame-Range über Work Items.
Nuke und Compositing-Integration
PDG-Workflows enden oft nicht beim Render, sondern umfassen auch Compositing:
Nuke TOP: Startet Nuke über die Kommandozeile mit einem Template-Script und dynamischen Pfaden- Automatisches Compositing von Render-Passes, Denoise, Distortion-Correction
File Management und Caching
PDG verwaltet automatisch Output File Attributes jedes Work Items. Diese Pfade werden downstream als Input-Attribute weitergereicht, ohne manuelle Pfad-Verwaltung. Der File Pattern TOP indexiert Dateisystem-Inhalte und injiziert sie als Work Items – ideal für Batch-Konvertierungen.
Beispiele
- Farm-basiertes Rendering mit Deadline:
Houdini Processor → ROP Fetch (Karma) → Deadline Schedulerverteilt 500 Frames einer Sequenz automatisch über die Farm, mit automatischem Retry bei Farm-Node-Ausfällen. - Multi-Seed Simulations-Sweep:
Wedge TOP (seeds 0–49) → DOP Cook (FLIP) → ROP Alembic → E-Mail Notification– 50 Fluid-Varianten, gecacht, für Supervisor-Review. - Asset-Batch-Konvertierung:
File Pattern TOP (FBX-Liste) → Python Script (FBX→USD Konversion) → Local Scheduler– automatisierte Konvertierung von hunderten Assets. - Automatisierte Look Dev Pipeline:
Generic Generator (Asset-Liste) → HDA Cook (Material-Zuweisung) → Karma Render → Image Compare– Screenshot-basiertes automatisches QA für alle Assets. - Nuke-Pipeline-Integration: Karma-Render-Outputs werden automatisch in Nuke-Template-Scripts eingebunden und als kompositionsfertiges EXR auf dem Netzlaufwerk abgelegt.
In der Praxis
Cook-Status monitoring: Das PDG-Dashboard zeigt Live-Status aller Work Items (Pending, Cooking, Cooked, Failed). Farb-Kodierung im TOP Network gibt sofortigen Überblick. Fehlgeschlagene Items können einzeln re-gecookt werden.
Lokales Testing vor Farm-Submission: Immer erst mit Local Scheduler und wenigen Work Items testen, bevor auf die Farm geschickt wird. Farm-Debugging ist deutlich aufwendiger.
Attribute-Debugging: Im TOP-Attribut-Spreadsheet (W) alle Attribute des selektierten Work Items sehen. @pdg_input, @pdg_output zeigen Datei-Pfade.
Python für Custom Processors: Houdinis PDG-Python-API (pdg Modul) ermöglicht vollständige Custom-Scheduler und Custom-Processor-Nodes – für Studio-spezifische Farm-Systeme.
Vergleich & Abgrenzung
| Tool | Beschreibung | Unterschied zu PDG |
|---|---|---|
| Deadline (Thinkbox) | Render-Farm-Manager | PDG steuert Deadline; kein prozeduraler Graph |
| Tractor (Pixar) | Farm-Manager aus Pixar-Pipeline | Analog zu Deadline; kein prozedurale Abhängigkeitsgraph |
| Nuke Studio | Timeline-basiertes Compositing | Kein genereller Prozess-Graph |
| Apache Airflow | Allgemeines Workflow-Management | Kein 3D/VFX-Kontext, aber konzeptuell ähnlich |
| Gaffer (Image Engine) | Open-Source Node-based VFX Pipeline | Ähnlicher Ansatz, aber für Lighting/Rendering fokussiert |
Häufige Fragen (FAQ)
Kann PDG auch ohne Render-Farm auf einem einzelnen Rechner genutzt werden? Ja. Der Local Scheduler nutzt alle verfügbaren CPU-Kerne des lokalen Rechners. Für kleinere Projekte oder das Testing von PDG-Setups ist das vollkommen ausreichend. PDG skaliert nahtlos von lokal zu Farm.
Wie debugge ich einen fehlgeschlagenen Work Item auf der Farm? PDG speichert Logs für jedes Work Item. Via Open Log Directory im Rechtsklick-Menü auf dem fehlgeschlagenen Item sind die Stderr/Stdout-Logs zugänglich. Oft sind Pfad-Probleme, fehlende Lizenzen oder Dependency-Fehler die Ursache.
Kann PDG mit externen Datenbanken oder Shotgrid/ShotGrid verknüpft werden? Ja. Über Python-Script-TOPs und die ShotGrid-API lassen sich Asset-Listen, Shot-Informationen und Publish-Workflows direkt in PDG integrieren. Studios bauen damit vollautomatische Asset-Processing-Pipelines.
Verwandte Einträge
Weiterführend
- SideFX PDG/TOPs Documentation: (2025)
- SideFX Hive PDG Talk (FMX 2023): – Pipeline-Praxis mit PDG
- Jeff Lait "Houdini TOPs for Production Pipelines" – Rebelway Kurs (2024)
