Hello,
I am currently testing a demo version of Deadline and have a question regarding element and tile rendering. We use Max 2011/Vray and primarily deal with still images. We usually render in three phases: GI calculation, strip renders split over multiple machines and stitching.
I have setup Deadline on a few of our machines and have it rendering ok. The first problem I have run into is regarding render elements and tile rendering.
I am using SMTD5.0. Currently, if I have 20 render elements it will create 20 jobs for tile assembly. I would like one tile assembly job with 20 tasks. Is this possible?
When I submit a job with a lot of elements it seems to take a much longer time to submit. I think it is because it is submitting all of the extra assembly jobs to Deadline?
Any help regarding these issue would be appreciated.
I see how that can be annoying. Currently the submission script only supports submitting one assembly job per RE, and the Tile Assembler plugin for Deadline only accepts a single frame to assemble per job. But we could change this so that the Tile Assembler plugin takes a list of frames to assemble, and then assembles one per task like you have suggested. I’ve added this as a feature request, and we’re currently targeting it for Deadline 5.1 (the next release).
Cheers,
I just took a quick look at the work that would need to be done in the Max submitter and the Tile Assembler plugin to support this, and it should actually be fairly trivial to have one assembly job for the main image and one assembly job for all the REs. If that sounds good, I can try to get something posted this week so you can test it out.
Just to confirm, are you on Deadline 5.0, or are you testing an older version? I just want to make sure I’m modifying the right scripts.
Cheers,
We are on version 5.0 and it sounds perfect.
Thanks so much!
Thanks for confirming! I will try to get something posted before the end of the week for testing.
Cheers,
Hey Ryan,
This could work for multi-frame tile render job submission as well as “single-frame”? As each frame is submitted as a separate job with a corresponding tile-assembly job, this revised function is applicable to both single & multi-frame stills (tiles) rendering?
So for each frame submission, you would get 1 x 3dsmax render job, 1 x master tile assembly job and finally, 1 x RE assembly job. However, the RE assembly job is irrelevant if you are saving out to a multi-channel file, so would be disabled?
Just checking / curious
Mike
Attached is an updated SMTD script and TileAssembler plugin script. Now when you submit a single frame tile job from SMTD, it will combine all frame assemblies into a single dependent job. We decided that it made more sense to combine the main image assembly and all the RE assemblies into a single job, rather than have one for the main image and another for the REs.
To install, first make a backup copy of the following files so that you have a rollback option (just in case):
\your\repository\submission\3dsmax\SubmitMaxToDeadline_Functions.ms
\your\repository\plugins\TileAssembler\TileAssembler.py
Then unzip SubmitMaxToDeadline_Functions.zip to \your\repository\submission\3dsmax\ and unzip TileAssembler.zip to \your\repository\plugins\TileAssembler.
Then relaunch SMTD from 3dsmax and submit a job. Let us know if you run into any problems!
Cheers,
Hey Mike,
This is only applicable to single-frame tile renders, since the multi-frame option doesn’t have dependent assembly jobs (the assembly part is embedded into each “tile” job).
Cheers,
Hi Ryan,
I have been testing it today and it works well.
Thanks for getting this out so quickly, it is greatly appreciated!
Cheers,
-Rob
Hi Ryan,
I am trying to integrate Deadline into some of our internal tools. I have got a job sending correctly, with dependencies using the ‘Custom MAXScript Submission Tutorial’ as a basis. I am having issues working out how to send a tile render with an assembly job though.
Is it possible to do this or should I be making my own custom job files and sending those instead? I am not sure the best way to approach it.
Thanks,
-Rob
It should be possible. There are functions in SubmitMaxToDeadline_Functions that handles submitting the tiles and the assembly jobs, but it might not be a bad idea to create the files and submit them yourself since at least you know exactly what you are submitting.
The CreateSubmitInfoFile and CreateJobInfoFile functions handle the creation of the submission files prior to submission, and use settings from SMTDSettings to determine if it’s going to be a tile job or not. Then SubmitTileAssemblerJob can be used to submit the assembly jobs. Those functions can be a bit daunting to walk through though, so there is no harm in creating the files yourself if that is something you’re more comfortable with.
Cheers,
Hi Ryan,
Thanks for the info. I have it all working now the way I want. I used the SubmitMaxToDeadline_functions and it seems to work exactly as expected. \o/
My process was analysing ‘ideal’ job files that were generated with SMTD and then cross referencing this with SubmitMaxToDeadline_functions to see what functions generated each part of the job file. Am I doing this correctly or is there a better way? I don’t want to find out that I am missing a big help file somewhere…
Thanks,
-Rob
Hi Rob,
Glad you hear you got it working.
The internals of SMTD are undocumented, and will more than likely stay that way (other than the helpful information that Bobo talked about in his tutorial), so the brute force method you used is definitely an acceptable way of figuring out what you want in the job file.
Cheers,