I have figured out solutions to 2 functions I found lacking in Deadline.
There was no way to use Arnold GPU on Deadline.
If rendering with chunk size > 1 the Deadline progress report would show frame progress, not task progress. Therefore the progress percentage would be no indication of total task progress.
- The following code to hrender_dl.py on line 623 will enable Arnold GPU on Deadline. It will actually set the rop parameters that make Arnold run on the GPU. Note these parameters will need to be editable.
if gpus is not None and sys.platform is not "darwin": gpu_string = " ".join(list("gpu%s" % gpu for gpu in gpus.split(","))) rop.parm("ar_render_device").set("GPU") rop.parm("ar_render_device_fallback").set("error") rop.parm("ar_gpu_default_names").set("") rop.parm("ar_manual_device_selection").set(True) rop.parm("ar_device_selection").set(gpu_string)
- The following code to Houdini.py will make it so that the stdout handler for
done
will only be invoked if the chunk size (frame list length) is 1. This way if the chunk size is > 1 only theALFRED
progress handler will be used.
The following lines need to be removed from the function InitializeProcess
self.AddStdoutHandlerCallback(“.?(\d+)% done.”).HandleCallback += self.HandleStdoutFrameProgress
And the following should be added to PreRenderTasks
if len(self.GetCurrentTask().TaskFrameList) <= 1: self.AddStdoutHandlerCallback( ".*?(\d+)% done.*").HandleCallback += self.HandleStdoutFrameProgress
Sure hope this helps anyone else out there facing these issues.