Houdini 22.0 Executing tasks with PDG/TOPs

PilotPDG

Standalone application or limited license for working with PDG-specific workflows.

On this page

Deprecated

PilotPDG (standalone GUI application and license) is now deprecated. Please use Houdini instead. For graphical Houdini, please use a Houdini Indie/Core/FX license. For non-graphical (hbatch, hython) Houdini, please use a Houdini Engine license.

When working with TOPs/PDG, you need graphical Houdini to be able to author TOP networks. However to cook a PDG graph (execute jobs) out-of-process, you can use non-graphical Houdini and Houdini Engine licenses.

For more information about the various versions of Houdini and its licenses, see Houdini Compare.

What is PilotPDG?

PilotPDG is a standalone GUI application for authoring and working with TOP graphs. It only allows you to work in the /tasks context, and it only contains the /tasks context and TOP shelf UI.

PilotPDG lets you:

  • Create and cook any TOP node and perform other PDG-specific operations.

  • Create any other node outside the /tasks context, but not cook them (even when using a higher-level Houdini license).

  • Load HIPs and HDAs.

You can find the PilotPDG executable (pilotpdg.exe) in the $HFS/bin/ folder in your Houdini install directory.

You can run PilotPDG with a PDG license or any other higher-level Houdini license.

Important

Please note that PilotPDG and the PDG license are separate entities.

PDG License

A PDG license is a limited Houdini license that allows you to cook PDG graphs on the farm or run PilotPDG. This license is useful for Submit graph as job operations or for cooking PDG graphs without other Houdini nodes. PDG license is most commonly used with hython --pdg.

Please contact SideFX Sales if you are interested in acquiring a PDG license.

Note

To be able to cook non-TOP nodes out-of-process, you need to have a higher-level Houdini license (for example, like Houdini Engine).

Modifying license acquisition behavior

You can use the following options to modify the default Houdini license acquisition behavior:

Command line option

For hython, first try using hython --pdg as an override to acquire a PDG license. If that does not work for you, then try using regular license acquisition instead (for example, this is usually Houdini Engine, then Core, and then FX).

Environment variable option

When launching Houdini or hython, you can set the HOUDINI_SCRIPT_LICENSE=”pdg” environment variable to force the Houdini License Administrator to try to acquire the PDG license first, and then fall back to other licenses if it can’t find the PDG license.

You can also use the PDG_LICENSE_MODE environment variable to override the fall-back behavior when the PDG license is not found. For example, if PDG_LICENSE_MODE=engine_only is set, then when a PDG license is not found, the Houdini License Administrator will try to acquire the Houdini Engine license. If that is also not found, then no other fall-back license will be tried. This licensing behavior is strictly for PDG-specific applications like PilotPDG or hython --pdg.

Executing tasks with PDG/TOPs

Basics

Beginner Tutorials

Next steps

Reference

  • All TOPs nodes

    TOP nodes define a workflow where data is fed into the network, turned into work items and manipulated by different nodes. Many nodes represent external processes that can be run on the local machine or a server farm.

  • Processor Node Callbacks

    Processor nodes generate work items that can be executed by a scheduler

  • Partitioner Node Callbacks

    Partitioner nodes group multiple upstream work items into single partitions.

  • Scheduler Node Callbacks

    Scheduler nodes execute work items

  • Custom File Tags and Handlers

    PDG uses file tags to determine the type of an output file.

  • Python API

    The classes and functions in the Python pdg package for working with dependency graphs.

  • Job API

    Python API used by job scripts.

  • Utility API

    The classes and functions in the Python pdgutils package are intended for use both in PDG nodes and scripts as well as out-of-process job scripts.