Houdini 20.5 Nodes Render nodes

HQueue Simulation render node

HQueue, or Houdini Queue, is a distributed job scheduling system.

Since 10.0

HQueue, or Houdini Queue, is a distributed job scheduling system. It consists of an HQueue server and a farm of processing nodes, or clients. The server accepts job submissions from users and assigns them to available clients.

The HQueue Simulation output driver submits dynamic simulation jobs to HQueue for distribution on the farm. The simulation is performed by the node specified in the Output Driver parameter. This is typically a Geometry ROP.

Parameters

Submit Job

Submits a simulation job to the HQueue system. If the submission is successful, then a dialog pops-up with the job’s id. The id can be used to track the simulation progress on HQueue’s web-based user interface.

General

HQueue Server

The machine name and listen port of the HQueue server.

Job Name

The name of the job. Set this to <default> or set blank if you want the default job name to be used.

Output Driver

The render node used to generate the output files. For most cases, this would be a path to a Geometry ROP.

Job Priority

The job’s priority. Jobs with higher priorities are scheduled and processed before jobs with lower priorities. 0 is the lowest priority.

Report Submitted Job ID

When checked, Houdini shows a message stating the ID of the successfully submitted job. To avoid these messages, uncheck this parameter.

Target HFS

Universal HFS

When checked on, this Houdini install directory (HFS) path is used in submitted simulation jobs running on any farm machine. You can specify HQueue job variables in the path. The HQueue variables must be escaped, i.e. \$HQROOT, \$HQCLIENTARCH.

Linux HFS Path

The Houdini install directory (HFS) path to be used in simulation jobs running on Linux farm machines. You can specify HQueue job variables in the path. The HQueue variables must be escaped, i.e. \$HQROOT, \$HQCLIENTARCH.

This parameter only applies when Universal HFS is unchecked.

macOS HFS Path

The Houdini install directory (HFS) path to be used in simulation jobs running on macOS farm machines. You can specify HQueue job variables in the path. The HQueue variables must be escaped, i.e. \$HQROOT, \$HQCLIENTARCH.

This parameter only applies when Universal HFS is unchecked.

Windows HFS Path

The Houdini install directory (HFS) path to be used in simulation jobs running on Windows farm machines. You can specify HQueue job variables in the path. The HQueue variables must be specified in Windows batch language notation, i.e. %HQROOT%, %HQCLIENTARCH%.

This parameter only applies when Universal HFS is unchecked.

Target HIP

Simulate Current HIP File

Choose this option if you want HQueue to simulate the .hip file that is currently open. The current .hip file must be in a location that is accessible by every machine on the farm. Note that any changes that are made to the .hip file while it is simulating on the farm are live. That is, any new changes may be applied to the simulation on the farm.

Simulate Target HIP File

Choose this option if you want HQueue to simulate another .hip file. The .hip file must be located somewhere that is accessible by every machine on the farm.

Copy Project Files to Shared Folder and Simulate

Choose this option if you want HQueue to simulate a copy of the currently opened .hip file. After clicking on the Render button, a file dependency dialog pops-up giving you an opportunity to choose the project files that are needed by the simulation. These files are copied to the destination specified by the Project Path parameter.

Note that on your first submission, Houdini copies and uploads all the project files required by your simulation job. On subsequent submissions, Houdini only copies and uploads the project files that have been modified since the last submission.

Target HIP

When Simulate Target HIP File is chosen, set this parameter’s value to the location of the .hip file to be loaded and simulated on the farm. The .hip file must be saved somewhere on the shared drive, or any other location that is accessible by every machine on the farm. You can use the $HQROOT variable to help specify the .hip file path (see HQueue Variables).

Project Path

When Copy Project Files to Shared Folder and Simulate is chosen, set this parameter’s value to the location on the shared folder where you want to copy your .hip file and its dependencies to. The location must be accessible by all machines on the farm. You can use the $HQROOT variable to help specify the .hip file path (see HQueue Variables).

Automatically Save HIP File

When checked, Houdini automatically saves the current .hip file before submitting a job to HQueue. This guarantees that the farm simulates with the latest changes made to your scene. This parameter does not apply when Simulate Target HIP File is chosen.

Warn If Unsaved Changes in HIP File

When checked, Houdini warns of any unsaved changes in the .hip file when submitting the job to HQueue. If this parameter is not checked, then Houdini ignores any unsaved changes and automatically submits the job to HQueue. This parameter does not apply when Render Target HIP File or Use Existing IFDs is chosen.

Skip File Dependency Dialog

When checked, the file dependency dialog is skipped. This parameter only applies when the Copy Project Files to Shared Folder and Simulate option is selected.

Simulation Options

Partitioning Type

Choose how the simulation is to be partitioned and distributed on the farm.

Volume Slices

For volume simulations. The simulation is divided into slices using a 3-dimensional grid. Set the Slice Divisions parameter to set the properties of the grid.

The farm will set the variable SLICE to the slice number being simulated. This can be used for setting filesnames of the outputted geometry files.

Particle Slices

For particle simulations. The simulation is divided into slices using 1 or more slice planes. Set the Number of Slices parameter to indicate how many slices have been created by the planes.

The farm will set the variable SLICE to the slice number being simulated. This can be used for setting filesnames of the outputted geometry files.

Clusters

For simulations that have a Cluster node. The simulation is divided so that there is one job per cluster. Set the Cluster Node parameter to indicate which cluster should be used for the division.

The farm will set the variable CLUSTER to the cluster number being simulated. This can be used for setting filenames of the outputted geometry files.

Wedges

There is one job created per wedge for the wedge node specified by the Output Driver parameter.

The variable WEDGE will be set to a string specifying the values changed for the wedge or the take used by the wedge. The variable WEDGENUM will be set to the wedge number being simulated.

Please see the Wedge ROP documentation for more information.

None

The simulation is not divided. Choose this option if you want to offload a simulation onto a single machine on the farm. This option is ideal for RBD, Cloth, and Wire simulations.

Slice Divisions

Describe how the simulation should be divided in the x, y and z-directions. Each slice created by the divisions requires a dedicated machine on the HQueue farm. For example, if the divisions are set to 2×2×2, then there would be 8 slices and the simulation would require a total of 8 machines.

Having more divisions allows for more work to be parallelized and generally improves simulation times. However, too many divisions can potentially slow down the simulation since more data must be passed between the slices.

Note that the number of slices dictates the number of generated geometry files. For instance, a simulation with 2 slices will create 2 sets of geometry files. So if 10 frames are to be simulated, then a total of 20 geometry files will be created, each file named with the slice number that it belongs to.

This parameter only applies if the Partitioning Type is set to Volume Slices.

Number of Slices

The total number of slices in the particle fluid simulation. HQueue will assign a client machine for each slice.

This parameter only applies if the Partitioning Type is set to Particle Slices.

Controls Node

The DOPs control node that assists HQueue in distributing the simulation. The node’s Tracker Address, Tracker Port and Slice Divisions parameters are automatically set by HQueue when the scene is processed on the farm.

This parameter does not apply if the Partitioning Type is set to None or Clusters.

Cluster Node

The Cluster node that specifies that clustering to be used to determine the distributed jobs.

This parameter only applies if the Partitioning Type is set to Clusters.

Use Dedicated Machine for Tracker

The tracker process coordinates the communication between the machines simulating the slices. It does very little work aside from receiving and sending messages to the other machines. By default, HQueue allows other simulation or render jobs to be assigned to the machine running the tracker.

Check this parameter to tell HQueue not to assign other jobs to the tracker machine. You may want to do this if you have several slices and you are worried that the communication from the client machines to the tracker will slow the tracker machine down.

This parameter does not apply when the Partitioning Type parameter is set to None or Clusters.

Email Options

The email options only apply if the HQueue Server is configured to send emails. See the error_email_from and smtp_server configuration variables in the Server Configuration help page.

Send Status Emails

Enable this parameter if you want status emails for the specified events to be sent out.

Note

The following parameters only apply when the Send Status Emails parameter is turned on.

Email Address

The list of emails that will be sent status updates. Use commas to separate the entries.

On Start

Enable this parameter to have emails sent when the job starts being processed by a client.

On Success

Enable this parameter to have emails sent when the job is successfully completed.

On Failure

Enable this parameter to have emails sent when the job has failed, been canceled, or abandoned.

On Pause

Enable this parameter to have emails sent when the job is paused.

On Resume

Enable this parameter to have emails sent when the job is resumed.

On Reschedule

Enable this parameter to have emails sent when a job is rescheduled.

On Priority Change

Enable this parameter to have emails sent when a job’s priority is changed.

Advanced

Clients

Assign To

Set this parameter if you want HQueue to assign the simulation job to a specific list of clients or client groups.

Any Client

When this option is selected, HQueue will assign your simulation jobs to any available machine.

Listed Clients

Choose this option to specify a list of client machines that HQueue can assign the simulation jobs to. When simulation volumes or particles, make sure that you list enough clients to meet the requirement set by the Slice Divisions or Number of Slices parameter.

Clients from Listed Groups

Choose this option to specify a list of client groups. HQueue will assign the simulation jobs to any machines that are members of at least one of the listed client groups.

Clients

The list of client machines that HQueue can assign the simulation jobs to. Use commas to separate the machine names.

This parameter only applies if Listed Clients is chosen in the Assign To parameter.

Select Clients

Click to pop-up a dialog with a list of client machines registered on the HQueue farm. Accepting the selection in the dialog automatically populates the Clients parameter with the selected clients.

Client Groups

The list of client groups that HQueue can assign the simulation jobs to. Use commas to separate the group names. Specifically, HQueue assigns simulation jobs to only the machines that are members of at least one of the groups in the list.

This parameter only applies if Clients from Listed Groups is chosen in the Assign To parameter.

Select Client Groups

Click to pop-up a dialog with a list of client groups registered on the HQueue farm. Accepting the selection in the dialog automatically populates the Client Groups parameter with the selected groups.

Scheduling

Set Number of CPUs per Job

Check this parameter if you want to set the maximum number of CPUs used for each simulation job.

CPUs per Job

The maximum number of CPUs that will be used by a simulation job. If the number exceeds a client machine’s number of CPUs, then the client machine will not be assigned to any simulation jobs.

Dependency Order

The rendering order to use when the target output driver has input ROP dependencies.

Frame by Frame

Renders a frame for all the output drivers in the network, and then moves on to the next frame. This method produces final results much faster than node by node, as the first final frame will be finished much sooner in the render process.

Node by Node

Renders the entire frame range for each output driver, before moving on to another one. This mode is more efficient overall, since some output driver types can execute faster in sequence than frame by frame. However, the first output frame is produced at almost the end of the render process.

Logging

Enable Performance Monitor Logging

When checked, HQueue turns on performance monitor logging using the hscript perfmon command for the jobs doing the simulations. The log is merged with the job’s command output log and can be downloaded from the job view page on the HQueue web interface.

Job Resources

Resources

A list of custom resources and respective counts that should be defined on the client machine when running the job.

Job Environment

Environment

A list of variable names and values that should be defined on the client machine when running the job. The variables appear as shell environment variables.

Directories

Create Directories

A list of output directories that should be created on the farm before any files are rendered out. For example, if your simulation generates a geometry files in $HIP/geo, then you will want to add this to the list.

The directories are created if they do not already exist.

Render nodes

  • Agent

    This output operator is used to write agent definition files.

  • Alembic

    Exports the scene to an Alembic archive. Alembic is a common exchange format for moving geometry and animation between different 3D software packages.

  • Archive Generator

    Generates disk-based archives which can be used by either mantra or RIB renderers.

  • Bake Animation

    Bakes animation from object transforms and CHOP overrides.

  • Bake Texture

    Generates a texture map from one or more objects' rendered appearance.

  • Batch

    Renders the input ROP in a single batch job.

  • Channel

    The Channel output operator generates clip files from a particular CHOP.

  • Composite

    Renders images from a compositing network.

  • DSM Merge

    Merges two or more deep shadow/camera map files.

  • Dem Bones Skinning Converter

    Converts any non-changing topology deforming mesh sequence into a bone-based animation.

  • Dynamics

    Saves the state of a DOP network simulation into files.

  • Fetch

    Makes a dependency link to a ROP in a different network.

  • Filmbox FBX

    Exports entire scenes to FBX files.

  • Filmbox FBX Animation

    Export animation from geometry-based skeleton to an FBX file.

  • Filmbox FBX Character

    Export a skinned character with geometry-based skeleton to an FBX file.

  • Flipbook

    Render an image using the hardware-accelerated 3D viewport renderer.

  • Frame Container

    Prevents frame dependency changes in the contained nodes from affecting its inputs.

  • Frame Depedency

    Allows an output frame to depend on one or more input frames.

  • GLTF Character

  • Geometry

    Generates geometry files from a SOP or DOP network.

  • Geometry Raw

    Generates raw binary files from a SOP or DOP network.

  • HQueue Render

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • HQueue Simulation

    HQueue, or Houdini Queue, is a distributed job scheduling system.

  • Hair Card Texture

    Renders hair textures for use on hair cards.

  • Image

    Writes the output of a COP network to disk.

  • Karma

    Renders non-USD scenes using Houdini’s Karma renderer.

  • Labs 3D Facebook Image

    Quickly render a 3D scene to a 2.5D image that can be uploaded to Facebook.

  • Labs Flipbook Textures

    Renders, composites, and exports flipbook textures.

  • Labs JSON Exporter

    Export geometry attibutes to a JSON file.

  • Labs Marmoset Export

    The Marmoset Export ROP allows you to quickly generate an mview inside Houdini

  • Labs Niagara ROP

    Export point caches to be used with Unreal’s Niagara particle system.

  • Labs Sketchfab

    Uploads geometry to Sketchfab

  • Labs Vertex Animation Textures

    Exports a mesh and a set of textures to be used with a shader for complex real-time effects, such as: soft-body deformation, rigid-body dynamics, dynamically remeshed geometries, and particle sprites.

  • Labs ZibraVDB Compress (Alpha)

    Compresses an OpenVDB sequence and caches it to disk as a single file.

  • MDD Point Cache

    This output operator is used to write an MDD animation file.

  • Mantra

    Renders the scene using Houdini’s standard mantra renderer and generates IFD files.

  • Mantra Archive

    Generates disk-based archives which can be used by mantra.

  • Merge

    Merges several render dependencies into one.

  • Net Barrier

    Blocks the ROP network until synchronization occurs.

  • Null

    Does nothing.

  • OpenGL

    Render an image using the hardware-accelerated 3D viewport renderer.

  • Pre Post

    Renders ROPs before and after a main job.

  • Shell

    Runs an external command.

  • Subnetwork

    The SubNetwork output operator provides an easy way to manage large number of output operators.

  • Switch

    Renders one of several inputs.

  • Tractor

    Tractor is a program shipped out with Pixar’s distribution of RenderMan.

  • USD

    Renders a LOP network out to one or more USD files. This node is available as render node or as a LOP.

  • USD Render

    Renders an output image from the stage generated by a LOP network.

  • USD Stitch

    Merges USD files representing individual frames by composing them.

  • USD Stitch Clips

    Merges multiple value clips representing individual frames.

  • USD Zip

    Assembles USDZ archive files from existing USD files.

  • Wedge

    Re-renders the same ROP multiple times with different settings

  • Wren

    This output operator is used to drive the Wren rendering program.

  • glTF