PDG (Procedural Dependency Graph, auch TOPs – Task Operators) ist Houdinis Framework zur Beschreibung und Ausführung von Aufgaben-Graphen, das Pipeline-Prozesse parallelisiert, Abhängigkeiten verwaltet und Arbeit auf lokale Kerne oder externe Render-Farmen verteilt.
Rubrik: Software & Tools · Unterrubrik: SideFX Houdini · Niveau: Fortgeschritten
Was ist PDG?
PDG wurde mit Houdini 17 (2018) eingeführt und löst ein fundamentales Problem in der 3D-Produktion: die Koordination von Abhängigkeiten zwischen Tasks. Eine VFX-Produktion besteht aus hunderten voneinander abhängigen Prozessen – Geometrie-Exports, Simulationsläufe, Render-Jobs, Compositing-Skripte. PDG beschreibt diese Abhängigkeiten als Graph und kann sie parallelisiert auf lokalen Rechnern oder verteilten Rechner-Clustern (Render-Farmen) ausführen.
Erklärung
Kernkonzepte
Work Items: Die kleinste Ausführungseinheit in PDG ist ein Work Item. Ein Work Item repräsentiert einen konkreten Task – z. B. „Rendere Frame 42 mit diesen Parametern". Jeder Work Item trägt Attribute (Dateinamen, Parameter, Frame-Nummern), die den Task beschreiben.
TOP Nodes: TOP-Nodes erzeugen, verarbeiten oder konvertieren Work Items. Wichtige Kategorien:
| Kategorie | Beispiele |
|---|---|
| Generator | File Pattern, Wedge, Python Script |
| Processor | Houdini Top-Level Cook, Geometry Import |
| Scheduler | Local Scheduler, HQueue Scheduler, Deadline |
| Output | File Copy, FTP Upload, Notification |
| Utility | Wait for All, Partition, Sort |
Schedulers: Schedulers entscheiden, wo und wie Work Items ausgeführt werden:
- Local Scheduler: Nutzt lokale CPU-Kerne
- HQueue Scheduler: Houdinis eigenes Render-Farm-System
- Deadline Scheduler: Integration mit Thinkbox Deadline (Industriestandard)
- Tractor / Qube: Integration mit anderen Render-Managern
Wedging – Parameterraum-Exploration
Eine der mächtigsten PDG-Funktionen ist Wedging: Die automatische Erzeugung einer Vielzahl von Work Items, die denselben Job mit leicht veränderten Parametern ausführen. Beispiele:
- Simulation mit 20 verschiedenen Random Seeds ausführen → besten Look auswählen
- Rendering mit 5 verschiedenen Licht-Setups → vergleichen
- Geometrie-Cache mit 10 verschiedenen Frakturdichten generieren
`` [Wedge Node: seed=1..20] → [Houdini Cook: sim] → [Render Node] → [File Output] ``
PDG für Simulationspipelines
Ein typischer PDG-Workflow für eine große Simulation:
- Geometry Export: SOP-Geometrie als Alembic-Sequenz cachen
- Simulation Cook: DOP-Simulation für alle Frames rechnen
- Mesh Extraction: VDB → Mesh für alle Frames parallel
- Render: Karma-Jobs für alle Frames auf der Farm
- Notification: E-Mail wenn fertig
Alle Schritte sind als TOP-Nodes verbunden; PDG analysiert die Abhängigkeiten und startet jeden Schritt, sobald seine Vorbedingungen erfüllt sind.
Python-Integration
TOPs unterstützen benutzerdefinierte Python-Skripte als Work Items:
``python work_item = pdg.currentWorkItem() input_file = work_item.attrib("input_file").asString() work_item.setAttrib("output_file", output_path) ``
Beispiele
Verschiebenes Test-Rendering: Wedge (5 HDRI-Varianten) × Wedge (3 Material-Varianten) = 15 Work Items → Local Scheduler (alle CPU-Kerne) → Thumbnail-Output für Vergleich.
Nightly Build Pipeline: Python-Script (Asset-Liste aus Datenbank laden) → HDA-Cook → Alembic-Export → Karma-Render → FTP-Upload → Slack-Notification.
Distributed Crowd Simulation: Crowd-Sim (1000 Frames) → Partitionierung (je 50 Frames) → 20 parallele Simulations-Jobs auf Farm → Merge → Render.
In der Praxis
PDG wird in Studios eingesetzt, um das Pipeline-Management direkt im Houdini-Workflow zu integrieren. Statt manueller Job-Submits oder externer Scripting-Lösungen beschreibt der TD (Technical Director) den gesamten Produktionsfluss als TOP-Graph.
Vorteile in der Praxis:
- Reproduzierbarkeit: Der gesamte Pipeline-Prozess ist als Graph dokumentiert
- Fehlertoleranz: Failed Work Items können einzeln wiederholt werden
- Skalierbarkeit: Von einer Workstation bis zu hunderten Farm-Knoten skalierbar
Vergleich & Abgrenzung
Ähnliche Konzepte finden sich in Apache Airflow (Daten-Pipelines), Nuke Studio (Comp-Pipelines) und spezialisierten Render-Manager-UIs. PDG hat den Vorteil, direkt in Houdinis Geometrie- und Simulations-Workflow integriert zu sein, was den Context-Switch zwischen DCC und Pipeline-Tool entfällt.
Häufige Fragen (FAQ)
Brauche ich eine Render-Farm für PDG? Nein, PDG läuft vollständig lokal über den Local Scheduler. Für Produktionsvolumen ist jedoch eine Render-Farm sinnvoll.
Kann PDG mit Cloud-Rendering integriert werden? Ja, über Custom Schedulers können AWS, Google Cloud und Azure-Rendering angebunden werden. SideFX bietet Referenz-Implementierungen.
Ist PDG für kleine Studios relevant? Ja, besonders Wedging für Design-Exploration ist bereits mit einer Workstation sehr wertvoll.
Verwandte Einträge
- Houdini – Einführung & Interface
- Karma Renderer in Houdini
- LOP-Netzwerk & USD in Houdini
- DOP-Netzwerk (Dynamic Operators)
- Prozedurales Modeling in Houdini
Weiterführend
- SideFX (2024): PDG/TOPs Documentation. URL:
- SideFX (2022): PDG for Indie Artists. Tutorial-Serie. URL:
- CGMA (2023): Houdini PDG for Production Pipelines. Online-Kurs.
- Blackstein, M. (2022): Procedural Pipeline Management with Houdini PDG. Vortrag, FMX Stuttgart.
