Houdini 18.0 Nodes TOP nodes

HDA Processor TOP node

Creates work items that cook a digital asset

On this page

This node generates work items that cook an HDA using Hython. The values of the HDA’s parameters can be specified in the HDA Parameters tab of the node, which will then be applied as attributes on the work item and used in the job environment to configure the HDA before cooking.

HDA Processor currently supports Object, Sop, and Cop2 type HDAs.

TOP Attributes

HDA Processor will create attributes on work items for all spare parms added to the HDA Parameters folder on the node. Additionally, it will create the following built-in attributes:

serviceaddress

string

The address of the TOPs HDA Processor service.

serviceport

integer

The port number of the TOPs HDA Processor service.

batchmode

integer

Indicates the Batch Mode selection (0 = Off, 1 = All Items in One Batch, 2 = Custom Batch Size).

cookwhen

integer

Indicates the Cook Batch When selection (0 = All Items are Ready, 1 = First Item is Ready).

hda

string

The path to the digital asset that will be cooked in the work item’s job.

operatortype

string

The operator type within the digital asset. If an operator type is not specified using the Operator Type parameter, this attribute will be set to the empty string, and the work item will use the first operator in the .hda.

createfileinput

integer

Indicates the Create File Inputs choice (0 = Do not create file inputs, 1 = Create file inputs).

fileinputs

integer

Specifies the number of file inputs that will be inputted to the HDA.

writeoutput

integer

Indicates the Write Outputs selection ( 0 = Do not write outputs, 1 = Write outputs).

dumpdebug

integer

Indicates whether to save a debug .hip file (0 = Do not save .hip file, 1 = Save .hip file)

inputpath

string

A list of paths to the file inputs that will be inputted to the HDA.

outputfiles

integer

Specifies the number of output files that will be written from the HDA.

hdasopname

string

When cooking an Object level HDA, this specifies the name of the SOP that is the source of the output file(s) to write out. If this empty, the HDA Processor job will attempt to find a valid node to output and issue a warning in the job log.

outputpath

string

A list of paths that specify the files to be written out.

outputtag

string

A list of file tags that specify the result tag for each output file.

hdaparms_floats

string

A list of names of all the float attributes that specify an HDA Parameter float value.

hdaparms_ints

string

A list of names of all the integer attributes that specifify an HDA Parameter integer value.

hdaparms_strings

string

A list of names of all the string attributes that specify an HDA Parameter string value.

hdaparms_buttons

string

A list of names of all the integer attributes that specify an HDA Parameter button value. Note that buttons get converted to a toggle within the HDA Parameters tab. When that toggle is enabled, it means that HDA Processor will press the button before cooking.

Parameters

Generation

Asset

Template Node

This parameter can be used to select an instance of a digital asset within the current Houdini session. All of the template node’s non-default parameter values will be applied to the HDA Processor’s HDA Parameters.

HDA File

The path of the HDA to cook. This path can be absolute or it can be relative to HOUDINI_PATH. For example, if an asset–myasset.hda–is in a sub-directory otls in hou.homeHoudiniDirectory(), you can specify the HDA as otls/myasset.hda.

Any HDAs that are added to this node’s File Dependencies will automatically be copied to the $PDG_TEMP/otls directory. Any nested HDAs that are required by the HDA being cooked should be added as a File Dependency if they are not otherwise available on the user’s HOUDINI_PATH.

Operator Type

The operator type to select from within the digital asset. If no operator type is specified, HDA Processor will pick the first type it finds when cooking the asset.

Update HDA Parameters

When pressed, this button updates the HDA Parameters section.

Filter HDA Parameters

Opens a dialog that can be used to configure which parameters from the asset should be included in the HDA Parameters tab of this node. Any parameters that are included in the HDA Parameters section of the node will have their values set when HDA Processor cooks the HDA.

Work Items

Work Item Generation

Whether this node generates static or dynamic work items. You should generally leave this set to "Automatic" unless you know the node’s work items can be computed statically, or that they need to be generated dynamically.

Dynamic

This node always creates dynamic work items: it waits until the upstream work items are known, and generates new work items from the upstream work items.

Static

This node always creates static work items: it creates the number of work items it thinks it needs based on the parameters (and any upstream static items) before the network runs.

Automatic

If the input is static (a static processor, or a partitioner with only static inputs, or a mapper), this node generates static work items, otherwise it generates dynamic work items.

Cache Mode

How the processor node handles work items that report expected file results.

Automatic

If the expected result file exists on disk, the work item is marked as cooked without being scheduled. If the file does not exist, the item is scheduled as normal.

Read Files

If the expected result file exists on disk, the work item is marked as cooked without being scheduled. Otherwise the work item is marked as failed.

Write Files

Work items are always scheduled and the excepted result file is ignored, even if it exists on disk.

Priority

When enabled, the priority of the work items created by this node.

Batch Mode

Off

No batching is performed. Each work item is submitted as its own individual job.

All Items in One Batch

All work items will be submitted as a single batch job and take place in a single Hython session. This option can significantly increase the speed at which the node finishes cooking, especially if the HDA has a relatively quick cooking time such that the time to start up a Hython process is longer than the time it takes to cook the HDA.

Custom Batch Size

Work items will be submitted as batch jobs that are the size specified by the Batch Size parameter. This option can significantly increase the performance of the node since it allows for various optimizations to be performed (such as only having to instantiate the HDA once per batch job).

Batch Size

When Batch Mode is set to Custom Batch Size, this specifies the size of each batch. If there is underflow in the last batch, the size of the last batch will be the remaining work items.

Cook Batch When

Determines when batches of work items are scheduled. By default, the batch will be scheduled once the dependencies for all work items are cooked. However, it is possible to schedule the batch as soon as the first work item can run.

All Items are Ready

The batch will only be scheduled once all dependencies on all work items in the batch are satisfied.

First Item is Ready

The batch will be scheduled as soon as the dependencies for its first work item are ready. The HDA Processor wrapper script used by PDG will communicate back to PDG as the job is running to check the status of the dependencies before cooking each work item in the batch. This incurs slightly more network overhead, and requires ongoing communication between the job and PDG.

Asset Inputs

Create File Inputs

When this parameter is enabled, one or more file nodes will be instantiated and wired as inputs to the asset. This can be used to chain multiple HDA Processor nodes together more easily. When this option is enabled, the HDA type must be able to support file inputs (for example, OBJ level HDAs will not work with this option).

Input File Source

When Create File Inputs is enabled, this selects the source of the input files.

Upstream Output Files

The upstream output files with the tag specified in the File Tag parameter will be used as inputs to the HDA. This option is particularly useful when the number of inputs potentially vary.

Custom File Paths

When this mode is selected, the input files to the HDA must be manually specified using the Number of Inputs multiparameter.

File Tag

When the file source is set to Upstream Output Files, this specifies the file tag of the upstream output files to use.

Number of Inputs

The number of input file nodes to create.

Input File #

The path to the input file that will be loaded in by the created file node.

Asset Outputs

HDA Type

This parameter is purely for UI purposes. When an HDA is selected, HDA Processor will attempt to set the HDA type, therefore giving the user more information about what type of asset they are working with, as well as deactivating any of the parameters that are not required to be filled for that type of asset.

Write Outputs

When this toggle is turned on, HDA Processor will output geometry to disk from the display node in the asset. If the asset contains a COP network or a ROP network, it may be useful to turn this off.

Sop Name

When the HDA is an Object level asset, a SOP name must be provided so that HDA Processor knows what geometry to output.

Number of Outputs

Since SOPs can have more than 1 output, this parameter is used to specify the number of outputs.

Output File Name #

When writing outputs, this is the name of the output file.

Output Tag #

When writing outputs, this is the result tag assigned to the result file.

Save Debug .hip File

When this toggle is enabled, a debug .hip file containing the instantiated asset, the file nodes and all parameter values will be written to disk. This is useful for tracking down problems with the asset. Be careful not to leave this on because it will significantly slow down execution.

Job Options

Use HDA Processor Service

With this enabled, HDA Processor will cook using the TOPs HDA Processor service. Note that there must be an active TOPs HDA Processor service available. See the TOPs Service Manager documentation for more information on using services.

Address

The address of the TOPs HDA Processor service server. This should be the same value as the HDA Processor Server address (see TOPs Service Manager).

Port

The port of the TOPs HDA Processor service server. This should be the same value as the HDA Processor Server port (see TOPs Service Manager).

Schedulers

TOP Scheduler Override

This parameter overrides the TOP scheduler for this node.

HDA Parameters

This section of the node is filled in automatically based on the parm interface of the selected digital asset. Parameters set here will be copied to work item attributes and applied to the asset when it is cooked.

Files

File Dependencies

A list of files that should be copied to the PDG working directory before the first work item in this node is executed. This can be used to ensure that supporting files like digital assets and custom scripts are available for the work item job.

The specified paths can be absolute or relative to HOUDINI_PATH.

Examples

example_top_hdaprocessor Example for HDA Processor TOP node

This example demonstrates how to use HDA Processor to distribute HDAs using PDG/TOPs.

See also

TOP nodes