Houdini 中文帮助文档

HQueue Render

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

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 aMantra ROP, but can also be a Composite ROP or other output driver.

You can also use the HQueue Render ROP to securely upload your project and render on the Amazon EC2 Cloud. With the Cloud, you can distribute your jobs across a virtually unlimited number of machines. For more information and to sign up for Amazon’s and SESI’s cloud services, visit http://www.sidefx.com/cloud/faq.

Parameters

RenderSubmit 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.

If you are rendering to the Amazon EC2 Cloud, then a file dependency dialog is opened giving you an opportunity to scan through your project files and verify which ones are required for rendering. When you are finished, Houdini contacts the EC2 Cloud and starts machines on your behalf. Once the machines are available, Houdini securely uploads your project files, runs HQueue on the cloud to distribute the renders and then downloads your output files as they become available.

Note

On your first submission, Houdini makes a request to start machines on the Cloud. This process can take up to 10 minutes, but typically takes about 1-2 minutes. Subsequent submissions re-use the running machines so that the startup time is avoided.

Note

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

General

Job NameThe name of the job. Set this to <default> or set blank if you want the default job name to be used.
Output DriverThe render node used to generate the output files. For most cases, this would be a path to aMantra ROP.

Note

This parameter does not apply if both the Local Farm and Use Existing IFDsoptions are chosen.

Local Farm

Choose this option if you want to submit render jobs to an HQueue farm on your local network.

HQueue ServerThe machine name and listen port of the HQueue server.
Target HFSThe path to the Houdini distribution that will execute the render on the HQueue farm. The distribution must be installed in a location that is accessible by every machine on the farm. You can use the $HQROOT and$HQCLIENTARCH variables to help specify the folder path (see HQueue Variables).
Job PriorityThe job’s priority. Jobs with higher priorities are scheduled and processed before jobs with lower priorities. 0 is the lowest priority.
Render Current HIP FileChoose 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 FileChoose 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.
Copy Project Files to Shared Folder and RenderChoose this option if you want HQueue to render 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 render. These files are copied to the destination specified by the Project Pathparameter.
Use Existing IFDsChoose this option if you want Hqueue to use existing IFD files for the render.
Target HIPWhen 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 PathWhen 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 $HQROOTvariable to help specify the .hip file path (see HQueue Variables).
IFD PathWhen Use Existing IFDs is chosen, set this paramter’s value to the path of the IFDs to be used for rendering. The location must be accessible to all locations on the farm.
Start/End/IncWhen Use Existing IFDs 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 FileWhen 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 or Use Existing IFDs is chosen.

Cloud

Choose this option if you want to submit render jobs to HQueue on the Amazon EC2 Cloud.

Check ProgressClick this button to check the progress of an active render job on the Cloud.
Check AmazonClick this button to open the Amazon AWS Management Console. The console allows you to monitor the running Cloud machines (or instances) that are rendering your jobs. The console is the ideal way for checking if you have any running instances and terminating any that you believe that should be shutdown.
HelpClick this button to open the online HQueue on the Amazon Cloud FAQ.
Machine TypeSelect the type of machines that you want to render your job. Here is a list of the different types:

1 EC2 Compute Units, 1.7GB RAM, 160GB HDD

5 EC2 Compute Units, 1.7GB RAM, 350GB HDD

4 EC2 Compute Units, 7.5GB RAM, 2 x 420GB HDD

8 EC2 Compute Units, 15.0GB RAM, 4 x 420GB HDD

20 EC2 Compute Units, 7.0GB RAM, 4 x 420GB HDD

13 EC2 Compute Units, 34.2GB RAM, 850GB HDD

26 EC2 Compute Units, 68.4GB RAM, 2 x 840GB HDD

88 EC2 Compute Units, 244GB RAM, 2 x 120GB SSD

All machine types are 64-bit.

The 20 EC2 Compute Units, 7.0GB RAM, 4 x 420GB HDD machine type is recommended for most jobs since it delivers the most power per dollar. If you wish to simply test submitting jobs to Houdini on the Cloud, then it is recommended that you choose the 1 EC2 Compute Units, 1.7GB RAM, 160GB HDD because of its low cost.

Num. MachinesThe number of machines to start up and render your jobs. By default, Amazon limits you to a maximum of 20 machines (or instances) per EC2 region. To increase the limit, you can make a request to Amazon here:http://aws.amazon.com/contact-us/ec2-request/.
Cloud RegionAmazon EC2 provides machines in different regions in the world. Depending on your location, certain regions will supply faster data transfer rates reducing upload and download times. You can choose a particular region to submit your render jobs to.

In most cases, selecting Use Detected is recommended.

Email Options

These options are not available if Cloud rendering is chosen.

Send Status EmailsEnable 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 AddressThe list of emails that will be sent status updates. Use commas to separate the entries.
On StartEnable this parameter to have emails sent when the job starts being processed by a client.
On SuccessEnable this parameter to have emails sent when the job is successfully completed.
On FailureEnable this parameter to have emails sent when the job has failed, been canceled, or abandoned.
On PauseEnable this parameter to have emails sent when the job is paused.
On ResumeEnable this parameter to have emails sent when the job is resumed.
On RescheduleEnable this parameter to have emails sent when a job is rescheduled.
On Priority ChangeEnable this parameter to have emails sent when a job’s priority is changed.

Mantra Options

Generate IFDsWhen checked, a job is submitted to HQueue which writes IFD files to the specified path. As IFDs are generated, additional jobs are automatically submitted to HQueue which 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 guarantees that at most 1 HBatch (or greater) license token is used on the farm to process your job.

This parameter does not apply when both the Local Farm and Use Existing IFDsoptions are chosen or when the Output Driver parameter points to a ROP other than the Mantra ROP.

Assign IFD Job ToSet 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 theGenerate IFDs parameter is checked on.

Same Clients Assigned to Render JobsChoose 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 ClientsChoose this option to specify a list of client machines that HQueue can assign the IFD generation job to.
Clients from Listed GroupsChoose 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.
ClientsThe 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 Toparameter.

Select ClientsClick 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 Clientsparameter with the selected clients.
Client GroupsThe 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 Toparameter.

Select Client GroupsClick 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 Groupsparameter with the selected groups.
Delete IFDs On Frame CompletionIf 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 and the Local Farm is chosen. It does not apply when the Use Existing IFDs option is chosen.

Min. Clients per FrameThe 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 FrameThe maximum number of client machines that should concurrently render a single frame. This parameter only applies if theOutput Driver parameter is pointing to aMantra ROP.
Render Single TileCheck 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 Local Farm is selected and neither Use Existing IFDs or Generate IFDs are enabled.

Note

This has no effect unless the Mantra output driver has tiling enabled.

Advanced

Assign ToSet 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 ClientWhen this option is selected, HQueue will assign your render jobs to any available machine.
Listed ClientsChoose 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 / Frameparameter in the Mantra Options tab.
Clients from Listed GroupsChoose 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.
ClientsThe 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 ClientsClick 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 GroupsThe 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 GroupsClick 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 JobCheck 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 JobThe 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 OrderRender the frames in an incremental sequence (i.e. 1, 2, 3, 4).
Render Frames in Binary Subdivision OrderRender 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 JobCheck this parameter if you want to set the maximum number of CPUs used for each render job.
CPUs per JobThe 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.
EnvironmentA 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 DirectoriesA 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.

Note that this parameter does nothing if the output directories already exist.

HQueue Variables

HQueue defines a set of variables which appear in the environment of a running job. You can use these variables to refer to common file paths, machine settings and server configuration values.

HQROOTEvaluates to the root directory of the HQueue shared file system. The default HQueue installation sets this variable to /mnt/hq on Linux systems, H:/ on Windows systems, and/Volumes/HQShared on Mac OSX systems. Note that the shared file system can be configured to reside in a different location so check with your HQueue administrator for details.
HQCLIENTARCHEvaluates to the architecture and operating system of the client machine assigned to execute the render job. For example, if the HQueue server assigned a job to a Linux, 64-bit machine on the farm, then $HQCLIENTARCHis set to ‘linux-x86_64’ in the environment.

This variable is useful for when you want to refer to paths that depend on the client machine’s platform. For example,/mnt/hq/houdini_distros/hfs.$HQCLIENTARCHcould refer to the Houdini distribution to use for a render job. Specifically, it tells HQueue to use/mnt/hq/houdini_distros/hfs.linux-i686when running the job on a 32-bit Linux machine, and to use/mnt/hq/houdini_distros/hfs.linux-x86_64when running the job on a 64-bit Linux machine.

点击分享到: