Houdini 18.0 Nodes TOP nodes

ROP Fetch TOP node

Creates work items that cook a ROP node or network.

On this page

This node cooks a ROP node or network using TOPs in either the current .hip file or an external file. It creates one work item per frame, based on the frame generation parameters.

Optionally, you can batch the work items into a single job for all frames, or divide them into smaller groups of frames. This node cooks each batch as a single job on the farm or locally. Batching all frames into one job is typically used for simulations so that the simulation data can be kept in memory rather than be cached to disk. Smaller batch sizes, like a 4-frames-per job, can also help avoid overhead loading the .hip file when cooking a ROP that cooks quickly.

Tip

Often a custom driver node will write out several files which will not be automatically picked up by PDG as output files. However, if the driver node has a toggle parameter named pdg_logoutput that parameter will be toggled to true before it is cooked by the Rop Fetch, and the printed output will be parsed for lines which match the pattern OUTPUT_FILE:{file_path};. Each matched file_path will become output files for the Rop Fetch work item.

TOP Attributes

hip

string

The path to the .hip file that contains the ROP node.

outputparm

string

The name of the parameter on the target ROP node that contains the output file path. For example, when used with a ROP Geometry node, this attribute will be set to sopoutput.

rop

string

The ROP node path within the .hip file.

top

string

If the ROP is contained within a TOP asset, such as the ROP Geometry node, then this attribute is set to the path to that TOP node.

control

string

When running a distributed sim, this attribute is set to the path to the Control DOP node.

sharedserver

string

When running a distributed sim, this attribute is set to the identifier for the shared sim tracker process.

trackerhost

string

When running a distributed sim, this attribute is set to the hostname of the machine that has the distributed sim tracker.

trackerport

integer

When running a distributed sim, this attribute is set to the port used to connect to the sim tracker. In combination with trackerhost, this forms the complete address of the simulation tracker. For example, trackerhost:trackerpor.

range

float3

The start, end, and increment frame range values associated with the work item. If the work item is in a batch, then these values refer to the range for the entire batch.

slice

integer

When running a distributed sim, this attribute is set to the slice number associated with the work item.

slicetype

integer

The type of distributed sim being used, set to either 0 for particles or 1 for volumes.

slicedivs

integer3

When using volume slices, this attribute is set to the x, y, and z slice divisions.

tileindex

integer

When using the ROP Fetch node to cook a tiled Mantra render, this value is set to the render tile index associated with the work item.

Parameters

ROP Fetch

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.

ROP Path

The path to the ROP node or network that is cooked by this TOP node.

Output File Tag

When on, specifies a custom file tag.

By default, the ROP Fetch node tags output files based on their file extensions. You can use this parameter to override that behavior.

Output Parm Name

When on, specifies the name of the output file parameter on the target ROP node.

By default, for standard ROP nodes shipped with Houdini, PDG is able to automatically determine the output name based on the type of ROP. When using a custom ROP or a ROP that PDG fails to detect automatically, this parameter should be set to the string name of the output parameter on the ROP specified in the ROP Path field.

External HIP File

When on, specifies the path to the .hip file that contains the ROP node.

This is most commonly used when generating a .hip file procedurally as part of an earlier step in the TOP network.

When selecting a ROP in the current file, it is not necessary to specify this parameter.

Reset $HIP On Cook

When on, sets the $HIP variable in the job to the value of the $HIP on the submitting machine.

This is most commonly used to keep all the $HIP-based file references in the file valid when copying the .hip file to the staging directory.

Evaluate Using

Determines how the TOP node creates work items and executes. When using Single Frame the node will create one work item for each upstream frame. When using Frame Range the node creates one work item per frame in the range, for each upstream work item.

Single Frame

The node will create a single work item per upstream item, and will set the new work item’s frame to match the upstream item’s frame. If there are no input nodes then a single item set to frame 1 will be created. The single frame value can be overridden using the Override Frame parameter.

Frame Range

For each upstream work item, the node will create the full frame range of work items. If there are no upstream items, the node will create one set of items for the specified frame range.

Override Frame

When this parameter is enabled, it overrides the frame used with the Single Frame Evaluation mode.

Frame Range

The frame start, end and step size to use when Frame Generation is set to Frame Range.

Cook Frames as Single Work Item

This parameter is only available when Evaluating Using is set to Frame Range.

Groups the work for all frames into a single work item.

This is most commonly used when cooking a ROP that produces an FBX, Alembic, or USD file which contains multiple frames of data in the same file.

Expand Input Files Across Frame Range

This parameter is only available when Evaluating Using is set to Frame Range.

Spreads the input file list across the frame range.

For example, if the upstream work item has 100 output files and the frame range on this node is set to 1 to 50, then each work item in this node will have 2 input files. The first work item will have file 1 and file 2, the second work item will have file 3 and file 4, and so on.

All Frames in One Batch

When this toggle is enabled, work items from the same frame range are grouped into a batch that is scheduled as a single job. This is used for simulations where each frame depends on the previous frame, and it is advantageous to keep everything in memory.

Frames per Batch

By default, when this parameter is at 1 each work item is cooked as a separate job. When this parameter is set to a value greater than 1, work items are grouped into batches.

Cook Batch When

Determines when batches of frames are scheduled.

By default, the batch is scheduled once the dependencies for all frames are cooked. However, it is possible to schedule the batch as soon as its first frame can run.

All Frames are Ready

The batch is scheduled only when all dependencies on all frames in the batch are satisfied.

First Frame is Ready

The batch is scheduled as soon as its first frame is ready.

This is possible because the ROP wrapper script used by PDG ensures that subsequent frames correctly wait for their dependencies. This is done by communicating back to PDG as the job is running to check the status of the dependencies before each frame. This incurs slightly more network overhead, and requires ongoing communication between the job and PDG.

This option is not available when cooking a Composite ROP node since COP file nodes must be able to load their entire input file sequence on the first frame.

Distribution

Distributed Sim

When on, the node treats the target ROP as part of a distributed simulation. This enables the parameters for configuring a distributed sim, and disables the frame generation parameters.

Control DOP

The control DOP for the distributed sim.

Slice Type

The type of slicing used for the distributed sim.

Particles

Use the particle slicing method for the distributed sim.

Volumes

Use the volume slicing method for the distributed sim.

Slice Count

This parameter setting is only available when Slice Type is set to Particles.

Specifies the number of slices for the distributed sim.

Slice Divisions

This parameter setting is only available when Slice Type is set to Volumes.

Determines the x, y, and z volume divisions for the distributed sim.

Schedulers

TOP Scheduler Override

This parameter overrides the TOP scheduler for this node.

Work Item Priority

This parameter determines how the current scheduler prioritizes the work items in this node.

Inherit From Upstream Item

The work items inherit their priority from their parent items. If a work item has no parent, its priority is set to 0.

Custom Expression

The work item priority is set to the value of Priority Expression.

Node Defines Priority

The work item priority is set based on the node’s own internal priority calculations.

This option is only available on the Python Processor TOP, ROP Fetch TOP, and ROP Output TOP nodes. These nodes define their own prioritization schemes that are implemented in their node logic.

Priority Expression

This parameter is only available when Work Item Priority is set to Custom Expression.

This parameter specifies an expression for work item priority. The expression is evaluated for each work item in the node.

External 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_ropfetch Example for ROP Fetch TOP node

This example demonstrates how to use the ROP Fetch node in PDG/TOPs.

See also

TOP nodes