Custom submitter script and DBR

Hi,

We’ve been using deadline for a while now and I’ve successfully integrated the SMTD functions into our custom pipeline maxscript tools. However, we’re upgrading our farm, and would like to add DBR rendering as an option. I’ve submitted a job through the submitter scripts supplied with deadline, and added the DBR flags to our submitter function that’s used in our workflow tools.

So far, I’ve managed to submit a job that has the right flags:
VRayDBRJob = true
DBRJobFrame = 0
and under the job info parameters:
Frames=0-14

Deadline correctly spawns a vrayspawner, reserves slaves and starts the render. However, I only see buckets of the master slave. Through remote desktop I’ve learned that the slave pc’s have seemingly connected, but there’s no CPU nor RAM activity, and I notice that every now and then the 3ds Max process is killed and restarted, only to stop again.

This is the log of one of the slaves:
Connecting to Ams_Renderpc02…
2015-11-03 14:26:50: Scheduler Thread - Skipping X: because it is already mapped
2015-11-03 14:26:50: Scheduler Thread - Skipping V: because it is already mapped
2015-11-03 14:26:50: Scheduler Thread - Skipping M: because it is already mapped
2015-11-03 14:26:50: Scheduler Thread - Synchronizing job auxiliary files from \192.168.7.76\x\Deadline\DeadlineRepository7\jobs\5638b01ca40c34221468bae0
2015-11-03 14:26:50: Scheduler Thread - Synchronization time for job files: 46.800 ms
2015-11-03 14:26:50: Scheduler Thread - Synchronizing plugin files from \192.168.7.76\x\Deadline\DeadlineRepository7\plugins\3dsmax
2015-11-03 14:26:51: Scheduler Thread - Synchronization time for plugin files: 733.201 ms
2015-11-03 14:26:51: Constructor: 3dsmax
2015-11-03 14:26:51: 0: Start Job timeout is disabled.
2015-11-03 14:26:51: 0: Task timeout is disabled.
2015-11-03 14:26:51: 0: Loaded job: AMS_0919_MTI_KTR_K4.5__03_MOEDER_20151030_045_Cam_008L_03_OR-ZLKL-100pct-GLAS-AllFrames_DR___BF_DBR (5638b01ca40c34221468bae0)
2015-11-03 14:26:51: 0: Skipping X: because it is already mapped
2015-11-03 14:26:51: 0: Skipping V: because it is already mapped
2015-11-03 14:26:51: 0: Skipping M: because it is already mapped
2015-11-03 14:26:51: 0: INFO: Executing plugin script C:\Users\Renderpc02\AppData\Local\Thinkbox\Deadline7\slave\ams_renderpc02\plugins\5638b01ca40c34221468bae0\3dsmax.py
2015-11-03 14:26:52: 0: INFO: Slave Running as Service: False
2015-11-03 14:26:52: 0: INFO: About: 3dsmax Plugin for Deadline
2015-11-03 14:26:52: 0: INFO: The job’s environment will be merged with the current environment before rendering
2015-11-03 14:26:52: 0: INFO: Start Job called - starting up 3dsmax plugin
2015-11-03 14:26:52: 0: INFO: VRay DBR: Delaying load of 3dsmax until RenderTasks phase
2015-11-03 14:26:52: 0: Plugin rendering frame(s): 10
2015-11-03 14:26:52: 0: INFO: Render Tasks called
2015-11-03 14:26:52: 0: INFO: VRay DBR: Launching VRay Spawner process and waiting for VRay DBR render to complete
2015-11-03 14:26:52: 0: INFO: Stdout Redirection Enabled: True
2015-11-03 14:26:52: 0: INFO: Stdout Handling Enabled: True
2015-11-03 14:26:52: 0: INFO: Popup Handling Enabled: True
2015-11-03 14:26:52: 0: INFO: QT Popup Handling Enabled: False
2015-11-03 14:26:52: 0: INFO: WindowsForms10.Window.8.app.* Popup Handling Enabled: False
2015-11-03 14:26:52: 0: INFO: Using Process Tree: True
2015-11-03 14:26:52: 0: INFO: Hiding DOS Window: True
2015-11-03 14:26:52: 0: INFO: Creating New Console: False
2015-11-03 14:26:52: 0: INFO: Running as user: Renderpc02
2015-11-03 14:26:52: 0: INFO: VRay DBR: 3ds Max executable: C:\3ds Max 2016\3dsmax.exe
2015-11-03 14:26:52: 0: INFO: VRay DBR: Spawner executable: C:\3ds Max 2016\vrayspawner2016.exe
2015-11-03 14:26:52: 0: INFO: VRay DBR: Spawner executable version: 3.20.03.0
2015-11-03 14:26:52: 0: INFO: Executable: “C:\3ds Max 2016\vrayspawner2016.exe”
2015-11-03 14:26:52: 0: INFO: Argument:
2015-11-03 14:26:52: 0: INFO: Startup Directory: “C:\3ds Max 2016”
2015-11-03 14:26:52: 0: INFO: Process Priority: BelowNormal
2015-11-03 14:26:52: 0: INFO: Process Affinity: default
2015-11-03 14:26:52: 0: INFO: Process is now running
2015-11-03 14:27:01: 0: INFO: Ignoring popup “MAXScript Debugger”
Success

The same scene did work when I submitted it through the 3dscmd tool, but sadly, using that one is not possible for us, as we often have to submit thousands of jobs for one project, so we really have to automate everything.

Any idea what I’m missing or doing wrong here?

I believe that all Slaves must connect before it’s allowed to start.

I talked with Pieter about this yesterday. Do you think doing tile rendering would work out a bit better for you folks? It will require two jobs (one to render, one to assemble) but it should would work quite nicely.

For settings needed for DBR, we have a huge doc of dos and don’ts here:
docs.thinkboxsoftware.com/produc … -ref-label

I think the issue right now is that “Force Workstation Mode” might be missing.

Hi,

Thanks for the reply. I had indeed forgotten to activate the Workstation mode. I think I’ll have to switch all the code around to the 3dsCmd command line instead though. I think needing a spare network license will be problematic in the future.

As for tile rendering, to use it optimally, we would have to divide every render by hand so the regions are somewhat balanced for rendering times. However, our software often sends out dozens of renders automatically. We’d need to use a standard grid that works for all the renders, but then we risk having one tile being particularly hard to render, and delaying the completion of the final image. With DBR and Vray 3, the buckets will automatically shrink at the end, and take care of the hard areas with all available slaves. We figured this was still the best way to render an image as fast as possible.

FYI - Upcoming Deadline 7.2.1 patch release adds a new feature to SMTD/3dsmax job submission to “Use 3dsCmd Plugin” when submitting a “VRay/MR off-load DBR” job. This build is available already in our beta forum as a “Release Candidate”. Feel free to contact sales [at] thinkboxsoftware [dot] com for early access. Feedback is welcome in our beta forum on this new feature. (This feature means you don’t need workstation mode enabled anymore, therefore not using a 3dsmax license for the MASTER machine).

Note, whether your tile, region, jigsaw, normal stills or animation rendering in 3dsMax via Deadline with VRay, the “dynamic bucket splitting” towards the end of a particular bucket being rendered on a certain machine will still take place, just on one machine, which I guess is the point your making. However, it shouldn’t be forgotten, that if just one machine in the DBR render has an issue, then there is the risk of the whole render failing out or worse still, just hanging; whereas ‘tile’ rendering, only that 1 tile is potentially lost on a troublesome machine. However, tile/region/jigsaw rendering also requires you to pre-cache any GI/LC if this is being used, whereas DBR doesn’t need that step. Your choice. :wink: