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 Render output driver submits render jobs to HQueue for distribution on the farm. The actual rendering is done by the node specified in the Output Driver parameter. This is typically a Mantra ROP, but can also be a Composite ROP or other output driver.
Parameters ¶
Submit Job
Submit a render job to the HQueue system. If the submission is successful, then a dialog pops-up with the render job’s id. The id can be used to track the job 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 Mantra ROP.
This parameter only applies when the Use Existing IFDs option is not chosen.
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.
Universal HFS
When checked on, this Houdini install directory (HFS) path is used in submitted render 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 render 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 render 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 render 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.
Render Current HIP File
Choose this option if you want HQueue to render 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 rendering on the farm are live. That is, any changes made will show up in your renders.
Render Target HIP File
Choose this option if you want HQueue to render another .hip file. The .hip file must be located somewhere that is accessible by every machine on the farm.
Use Existing IFDs
Choose this option if you want HQueue to render from pre-generated IFD files on disk. HQueue renders the IFD files with Mantra.
Use Existing USDs
Choose this option if you want HQueue to render frrom pre-generated USD files on disk. HQueue renders the USD files with the husk command line utility.
Target HIP
When Render Target HIP File is chosen, set this parameter’s value to the location of the .hip file to be loaded and rendered 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 Render 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).
IFD Path
The path to the IFD files to render. You can use the $HQROOT
variable to specify a path in a shared network folder registered with the farm (see HQueue Variables).
This parameter only applies when Use Existing IFDs is chosen.
USD Path
The path to the USD files to render. You can use the $HQROOT
variable to specify a path in a shared network folder registered with the farm (see HQueue Variables).
This parameter only applies when Use Existing USDs is chosen.
Render Delegate
The Hydra client to use to render the images. The default is Karma. Alternate Hydra clients must be registered with Houdini’s USD libraries. See how the node gets the list of available renderers above.
This parameter only applies when Use Existing USDs is chosen.
Override Output Image
If this is not blank, render to this file path instead of the output specified in the RenderSettings
prim. When starting a new render process for each frame, this parameter can use standard Houdini variables such as $F4
to specify unique per-frame image files. When Render All Frames With a Single Process
is enabled, this parameter must pass an un-expanded frame specifier (such as $F4
or <FF>
) to husk
. This may require the use of a backslash to prevent variable expansion when evaluating the parameter.
This parameter only applies when Use Existing USDs is chosen.
Render Command
This is the external command used to render. If this parameter is disabled (by turning off the Run command parameter) the command is not executed. The USD scene will still be output to disk, and the command will be output to the console (if Print command line to console is turned on), but the command will not actually be run. Disabling the running of the command also prevents the deletion of the generated USD files, even if they are in the Houdini temp directory. This mode can be very useful for debugging or for batch farm rendering.
This parameter only applies when Use Existing USDs is chosen.
Start/End/Inc
When Use Existing IFDs or Use Existing USDs is chosen, set these fields to specify the start frame, the end frame, and the frame increment value for the render. The frame increment may not be zero and the start and end frames chosen must correspond to existing files when the IFD Path is expanded with frame numbers.
Automatically Save HIP File
When checked, Houdini automatically saves the current .hip file before submitting a job to HQueue. This guarantees that the farm renders with the latest changes made to your scene. This parameter does not apply when Render Target HIP File, Use Existing IFDs or Use Existing USDs 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, Use Existing IFDs or Use Existing USDs 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 Render option is selected.
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.
Mantra Options ¶
Generate IFDs
When checked, a job is submitted to HQueue that writes IFD files to the specified path. As IFDs are generated, additional jobs are automatically submitted to HQueue that perform the rendering using the IFDs as input. When unchecked, IFD generation is skipped and hython, instead of Mantra, is used to cook and render each frame. Having this parameter turned on ensures that at most one Houdini Engine license token is used on the farm to process the job.
This parameter only applies when the Output Driver parameter points to a Mantra ROP node.
Assign IFD Job To
Set this parameter if you want HQueue to assign the IFD generation job to a specific client or a member of a specific client group. This parameter only applies when the Generate IFDs parameter is checked on.
Same Clients Assigned to Render Jobs
Choose this option if you want HQueue to assign the IFD generation job to the same list of clients that will process the render jobs. The list is determined by the Assign To parameter under the Advanced tab.
Listed Clients
Choose this option to specify a list of client machines that HQueue can assign the IFD generation job to.
Clients from Listed Groups
Choose this option to specify a list of client groups. HQueue will assign the IFD generation job to any machine that is a member of at least one of the listed client groups.
Clients
The list of client machines that HQueue can assign the IFD generation job 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 IFD generation job to. Use commas to separate the group names. Specifically, HQueue assigns the IFD generation job to a machine that is a 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.
Delete IFDs On Frame Completion
If this box is checked, the IFD for a frame will be deleted when the farm finishes rendering that frame.
This parameter only applies when Generate IFDs is enabled. It does not apply when the Use Existing IFDs option is chosen.
Allow cross-platform rendering
If this box is checked, the render job submitted using the IFD file would be platform-independent.
This parameter is default to false, and only applies when Generate IFDs is enabled or hq_hip_action is set to use_ifd.
Distribute IFD Generation
When checked, the Generate IFDs job is distributed into multiple jobs. Each of these jobs requires a Houdini Engine license. This option only applies when the Generate IFDs option is selected.
Render Single Tile
Check this box if you only want the single tile specified by the Mantra ROP's Tile Index parameter to be rendered. If tiling is enabled and this is box is not checked, then the tiles are rendered as separate jobs before being stitched together into the final image. This parameter only applies if neither Use Existing IFDs or Generate IFDs are enabled.
This parameter only applies if the Mantra output driver has tiling enabled.
Enable Checkpoints
Check this box to turn on Mantra checkpointing. If the job fails or is canceled, then checkpointing enables the job to continue rendering from its last checkpoint if it is rescheduled.
Min. Clients per Frame
The minimum number of client machines that should concurrently render a single frame. Multi-client rendering is achieved on HQueue using Mantra’s -H option (please see rendering on the network for more information). This parameter only applies if the Output Driver parameter is pointing to a Mantra ROP.
Max. Clients per Frame
The maximum number of client machines that should concurrently render a single frame. This parameter only applies if the Output Driver parameter is pointing to a Mantra ROP.
USD Render Options ¶
USD Output File
The name of the top-level USD file to write the root layer out to. This parameter sets the Output File parameter on the USD Render ROP.
When checked, a job is submitted to HQueue that writes USD files to the specified path. As USDs are generated, additional jobs are automatically submitted to HQueue that perform the rendering using the USDs as input. When unchecked, USD generation is skipped and hython, instead of Karma, is used to cook and render each frame. Having this parameter turned on ensures that at most one Houdini Engine license token is used on the farm to process the job.
This parameter only applies when the Output Driver parameter points to a USD Render ROP node.
Assign USD Job To
Set this parameter if you want HQueue to assign the USD generation job to a specific client or a member of a specific client group.
This parameter only applies when the USD Output File parameter is checked on.
Same Clients Assigned to Render Jobs
Choose this option if you want HQueue to assign the USD generation job to the same list of clients that will process the render jobs. The list is determined by the Assign To parameter under the Advanced tab.
Listed Clients
Choose this option to specify a list of client machines that HQueue can assign the USD generation job to.
Clients from Listed Groups
Choose this option to specify a list of client groups. HQueue will assign the USD generation job to any machine that is a member of at least one of the listed client groups.
Clients
The list of client machines that HQueue can assign the USD generation job 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 USD generation job to. Use commas to separate the group names. Specifically, HQueue assigns the USD generation job to a machine that is a 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.
Delete USD Directory On Frame Completion
If this box is checked, the USD directory and all of its contents created for a frame will be deleted when the farm finishes rendering that frame.
This parameter only applies when USD Output File is enabled.
Distribute USD Generation
When checked, USD file generation is distributed into multiple jobs. Each of these jobs requires a Houdini Engine license.
This option only applies when the USD Output File option is selected.
Advanced ¶
Assign To
Set this parameter if you want HQueue to assign the render job to a specific list of clients or client groups. This parameter only applies when rendering to a local HQueue farm.
Any Client
When this option is selected, HQueue will assign your render jobs to any available machine.
Listed Clients
Choose this option to specify a list of client machines that HQueue can assign the render jobs to. When rendering with Mantra, make sure that you list enough clients to meet the requirement set by the Min. Clients / Frame parameter in the Mantra Options tab.
Clients from Listed Groups
Choose this option to specify a list of client groups. HQueue will assign the render 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 render 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 render jobs to. Use commas to separate the group names. Specifically, HQueue assigns render 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.
Batch All Frames in One Job
Check this parameter if you want to render all of the frames in a single HQueue job. This is especially useful when rendering with a Dynamics ROP or a Geometry ROP where a cooked frame depends on the cooked results of the previous frames. RBD, Cloth and Wire simulations, which cannot be divided into slices and distributed across multiple machines, work best with this option turned on.
Frames per Job
The number of frames that are rendered in a single HQueue job. For each job, HQueue starts Houdini, loads the .hip file, renders the requested number of frames and then quits. Having more frames per job reduces the amount of overhead spent starting and quitting Houdini. However, having too many frames per job means less jobs can be distributed across the farm which could potentially lengthen the overall rendering time depending on the number of available client machines.
The ideal value for this parameter would result in having at most one render job assigned to a machine on the farm. You can use the following formula as a starting point:
frames_per_job = ceil(number_of_frames / number_of_machines)
In most cases, a value of 1 is usually sufficient.
This parameter only applies if Batch All Frames in One Job is unchecked.
Frame Order
Render Frames in Linear Order
Render the frames in an incremental sequence (i.e. 1, 2, 3, 4).
Render Frames in Binary Subdivision Order
Render the frames in binary subdivision order. For example, if the frame range is 1 to 20, then the render sequence of the frames is 1, 20, 11, 6, 16, 4, 9, 14, 18, 3, etc. The binary subdivision order is useful for when you want to see if the sequence will render correctly early on.
Set Number of CPUs per Job
Check this parameter if you want to set the maximum number of CPUs used for each render job.
CPUs per Job
The maximum number of CPUs that will be used by a render job. If the number exceeds a client machine’s number of CPUs, then the client machine will not be assigned to any render jobs.
Render Retries
The maximum number of times HQueue will reschedule a failed render job.
Reschedule job on a different client on failure
When checked, HQueue will reschedule a failed job on a different machine other than the one that failed the job.
This parameter only applies when Render Retries is greater than zero.
Resources
A list of custom resources and respective counts that should be defined on the client machine when running the job.
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.
Create Directories
A list of output directories that should be created on the farm before any files are rendered out. For example, if your render generates a shadow map and an image, then you can add $HIP/shadowmap
and $HIP/pics
to this list.
The directories are created if they do not already exist.