On this page | |
Since | 17.5 |
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
Oftentimes a custom driver node will write out several files which are not automatically picked up as output files by PDG.
However, if you give the driver node a toggle parameter named pdg_logoutput
, and you toggle that parameter to true
before it is cooked by the ROP Fetch, then its printed output will be parsed for lines that match the pattern OUTPUT_FILE:{file_path};
and each matched file_path
will become output files for the ROP Fetch work items.
Tip
The $HH/help/files/pdg_examples/top_ocean
example shows how you can use this node to cook ROPs in an existing scene file.
TOP Attributes
|
string |
The path to the |
|
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 |
|
string |
The ROP node path within the |
|
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. |
|
string |
If the Source Node Path is set, then this attribute contains the path to the source data used by the ROP this work item is cooking. |
|
string |
When running a distributed sim, this attribute is set to the path to the Control DOP node. |
|
string |
When running a distributed sim, this attribute is set to the identifier for the shared sim tracker process. |
|
string |
When running a distributed sim, this attribute is set to the hostname of the machine that has the distributed sim tracker. |
|
integer |
When running a distributed sim, this attribute is set to the port used to
connect to the sim tracker. In combination with |
|
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. |
|
integer |
When running a distributed sim, this attribute is set to the slice number associated with the work item. |
|
integer |
The type of distributed sim being used, set to either |
|
integer3 |
When using volume slices, this attribute is set to the x, y, and z slice divisions. |
|
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
Generate When
Determines when this node will generate work items. You should generally leave this set to "Automatic" unless you know the node requires a specific generation mode, or that the work items need to be generated dynamically.
All Upstream Items are Generated
This node will generate work items once all of the input nodes have generated their work items.
All Upstream Items are Cooked
This node will generate work items once all of the input nodes have cooked their work items.
Each Upstream Item is Cooked
This node will generate work items each time a work item in an input node is cooked.
Automatic
The generation mode is selected based on the generation mode of the input nodes. If any of the input nodes are generating work items when their inputs cook, this node will be set to Each Upstream Item is Cooked. Otherwise, it will be set to All Upstream Items are Generated.
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.
Tip
When cooking as a batch, the target ROP should have the preframe
and
postframe
callback parms.
ROP Cook Order
When ROP Path points to a chain of ROPs or a ROP network, this parameter determines how the ROP nodes should be cooked.
When set to Frame by Frame, the entire ROP chain is cooked for the current frame before moving onto the next frame in the sequence. Conversely, if the parameter is set to Node by None then each ROP node in the chain is cooked for the entire frame range, one ROP at a time.
This parameter only affects cooking when the ROP Fetch is configured to use batching or as a single work item for all frames.
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. If the output parameter is in a multiparm, you
can specify the multiparm like outputfile#
Source Node Path
When on, specifies the path to the underlying node or network that the ROP Path will use when the ROP evaluates. This creates a dependency between that node and this TOP node, so that this TOP node is correctly marked as dirty when the source node changes.
For example, if you're using this ROP Fetch node to cook a Geometry ROP, then you would set the value of this parameter to the SOP network associated with your Geometry ROP.
If this parameter is not set, then no dependency is created. Likewise, if External HIP File is on, this parameter is not used since the ROP being cooked is in a different .hip
file.
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 can be used to keep $HIP
-based file references in the scene file valid when it is copied to the scheduler working directory at the start of the PDG cook. The original .hip
file can then be safely modified while the cook proceeds.
Evaluate Using
Determines how the TOP node creates and executes work items.
When using Single Frame, the node creates 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. When using ROP Node Configuration, the PDG cooks the ROP without passing any frame range options and uses whatever configuration is set on the target ROP.
Single Frame
The node creates a single work item per upstream item, and sets 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 is created. You can override the single frame value with the Override Frame parameter.
Frame Range
For each upstream work item, the node creates the full frame range of work items. If there are no upstream items, the node creates one set of items for the specified frame range.
ROP Node Configuration
For each upstream work item, the node creates a single work item that cooks the ROP Path and PDG does not pass any frame range settings to the ROP node. The number of frames to cook is determined by the parameters on the ROP itself.
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
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.
This parameter is only available when Evaluate Using is set to Frame Range.
Expand Input Files Across 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.
This parameter is only available when Evaluate Using is set to Frame Range.
All Frames in One Batch
When on, 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.
Resume Partially Cached Batches
Determines whether or not batches produced by this node should resume cooking from partially cached output files. You should only enable this option for simulations if the DOP network itself is already configured to write sim cache files.
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.
Custom Tracker Port
When this parameter is enabled, the specified port is used for the sim tracker that transmits slice information between jobs. Otherwise, if this parameter is disabled, PDG will automatically use an available port.
Web Port
When this parameter is enabled, the specified port is used to host the web page for monitor distributed sim status. Otherwise, if this paramater is disabled, PDG will automatically use an available port.
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
Specifies the number of slices for the distributed sim.
This parameter setting is only available when Slice Type is set to Particles.
Slice Divisions
Determines the x, y, and z volume divisions for the distributed sim.
This parameter setting is only available when Slice Type is set to Volumes.
Debugging
Enable Performance Monitor Logging
When this toggle is on, the Performance Monitor will be enabled when cooking the ROP. Performance information is printed to the work item log.
Save Debug .hip File
If this parameter is enabled, the state of .hip file containing the ROP node will be saved to the specified path after the cook has completed. This includes all wedge parameter and environment changes, or scene state modified by cooking the network. If the cook fails due to an error in the ROP evaluation the .hip file is still saved.
Service
Use ROP Fetch Service
When on, ROP Fetch cooks using the ROP Fetch service.
This parameter requires an active ROP Fetch service to be available. For more information on using services, see the PDG Service Manager documentation.
If the node is unable to connect to the service, ROP Fetch will cook in regular mode and add a warning to the node.
Service Name
This parameter specifies the name of the ROP Fetch service to use.
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 specifies an expression for work item priority. The expression is evaluated for each work item in the node.
This parameter is only available when Work Item Priority is set to Custom Expression.
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
See also |