Deadline#

This plugin enables Prism to submit render and other jobs to the AWS Deadline rendermanager.

Jobs are usually submitted from the render or export states in the Prism State Manager.

Different Prism plugins like Houdini or USD can have additional options available for job submissions. See the plugin pages for more details.

../../_images/deadline.jpg

Pool Presets#

Instead of requiring artists to set the job pool, secondary pool and group for every job, it is possible to create presets for these 3 settings in the Prism Project Settings -> Deadline tab.

Job Dependencies#

Job dependencies are an important feature when submitting multiple jobs to Deadline, which rely on each other.

For example you can submit a job, which exports USD files from Houdini, a second jobs which renders the USD without using a Houdini license and a third job which deletes the previously generated USD files.
Prism will configure the job dependencies between these jobs automatically.
You can view these dependencies in the Deadline monitor in the “Job Properties” under “Dependencies” -> “Jobs” or “Scripts” (depending on the type of job).

Other cases where Prism submits dependent jobs are when a master product version needs to get updated after a Houdini simulation was cached or when a media conversion is configured to run after a render job.

Configuring Deadline to run Python Jobs (for Deadline versions <10.3)#

Prism submits Python jobs to Deadline in different situations, for example to update master versions (if enabled in the projects settings) or when rendering using Redshift or 3Delight scenedescriptions. Python Deadline jobs will be submitted from Prism as Python 3.9 jobs. Older versions of Deadline (<10.3) don’t support Python 3.9 jobs and will create errors on these Python jobs. These errors can be found in the log, which can be viewed in the “Job Reports” panel in the Deadline Monitor.

../../_images/DeadlinePythonKeyMissing.jpg

To add support for Python 3.9 to the Python Deadline plugin, this file in the Deadline repository needs to be modified: \plugins\Python\Python.param

This file contains a section for each Python version. In a text editor a section for Python 3.9 can be added to the bottom of the file:

[Python_Executable_3_9]
Type=multilinemultifilename
Label=Python 3.9 Executable
Category=Python Executables
CategoryOrder=0
Index=13
Default=C:\Python39\python.exe;/usr/bin/python3;/usr/bin/python
Description=The path to the Python executable. Enter alternative paths on separate lines.

A restart of the Deadline Monitor is needed after editing and saving this file. In the “Tools” menu in the main menu bar in the Deadline Monitor the “Super User Mode” needs to be enabled. Then in the same menu the option “Configure Plugins…” will show up. In the new window that opens select the Python plugin and scroll down to the “Python 3.9 Executable”. Here you have to enter the path of a Python 3.9 executable. That can be from a custom Python installation or the path to the Python executable included in Prism.

../../_images/DeadlinePythonConfig.jpg

Confirm the window and now the Python Deadline jobs will be executed without errors.

Configuring Deadline to run jobs with unsupported Houdini versions#

When submitting jobs from Houdini to Deadline it is important to check if the installed Deadline version supports the used Houdini version. This can be done by consulting the official Deadline changelog here or checking the content of the \plugins\Houdini\Houdini.param file in the Deadline repository.

When submitting jobs from an unsupported Houdini version, the jobs will error and in the “Job Reports” panel you will see the following error message:

../../_images/DeadlineHoudiniKeyMissing.jpg

In some cases it can help to update Deadline to the latest version. But after a new Houdini version gets released it can take months until Deadline gets updated to officially support that Houdini version. Waiting months for a new Deadline version is usually not an option and luckily there is a simple way to add support for any new Houdini version.

Alternative solution#

While the solution in the previous section is recommended, there is also an alternative solution without modifying a file in the Deadline repository.

The environment variable PRISM_DEADLINE_HOUDINI_VERSION can be set to a Houdini version like “18.5” or “19.0”. If that environment variable is set at the time of the job submission in Houdini, this version will be set in the job settings and Deadline will try to render that job using this Houdini version. By doing this, Deadline will render the job using a supported Houdini version like 18.5 even though it was submitted from an unsupported version like 19.5. As a last step we need to point the Houdini 18.5 configuration in Deadline to the Houdini 19.5 executable so that Deadline actually uses the executable of our Houdini 19.5 installation.

Example: Assuming Houdini 19.5 is installed and Deadline 10.1, which supports officially Houdini versions up until 19.0. In the Prism User Settings in the “Environment” tab we can set the variable PRISM_DEADLINE_HOUDINI_VERSION to “18.5”. Now we can submit our job from Houdini to Deadline for example using the Prism LOP File Cache HDA. Deadline will try to render this job using Houdini 18.5 and will error because we only have Houdini 19.5 installed. In the Deadline Monitor we can enable the “Super User Mode” in the “Tools” menu. Then we can open the “Configure Plugins…” window from the “Tools” menu. When selecting the Houdini plugin we can see the executable configuration for all supported Houdini versions. In the “Houdini 18.5 Hython Executable” field we add the path to the bin/hython.exe in our Houdini 19.5 folder. Now we can save the configuration and Deadline will render the job successfully.

The environment variable PRISM_DEADLINE_HOUDINI_VERSION can be set in the Windows system settings of the workstation or in the Prism User or Prism Project Settings.