Solaris and hqueue - out of the box

   2509   3   3
User Avatar
Member
306 posts
Joined: 7月 2005
Offline
Hi,

I'm rendering on a second workstation using hqueue. Submitting from the stage with a fetch rop grabbing the "USD Render Rop", which is then wired in to an hqueue rop.

The behaviour I'm seeing is that it creates the job with the first task generating the subsequent tasks which are the frame batches.

I'm used to a workflow where that would be generating ifds, then the subsequent tasks are just mantra. Quick loads, only requires render license.

What I see is those tasks for rending the frames are just pointing back to the original hip. Fine - means it uses the license but it's a one-node farm so who cares.

However - the first tasks creating those frame tasks is incredibly slow - tying up the machine for perhaps half an hour. Really significant. Since I'm not waiting for it to generate USDs, what is it that is taking the time here?

( I know the proper response is to write submission and wrapper scripts - which I've not done for hqueue and wanted to avoid doing. This is the out-of-the-box experience which I was hoping would suffice for my one man show )

Thanks in advance for any tips.

r.
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Member
64 posts
Joined: 3月 2017
Offline
I'm new to USD and Solaris, so I could be wrong, but I think that if you are fetching the USD render ROP, then the first job is generating USD's. It's very similar to generating IFD's, so it can take a long time.

I made an HDA for sending husk jobs to hqueue. It's super bare-bones. Someone else has probably done the same more elegantly. You still have to generate the USD somehow. Then my tool sends husk commands to hqueue, telling it to render that USD. So far, I've only used it to run a very basic test and I have no idea whether it will work with more complicated scenes or outside of my environment. You are welcome to give it a try. I make no guarantees that it will work.

Image Not Found

Attachments:
lop_bthompson.dev.bt_usd_hqueuerender.1.1.hda (9.4 KB)

User Avatar
Member
306 posts
Joined: 7月 2005
Offline
Yeah - generating the USD - I guess that's defined with the config-layer LOPs - I don't have a final one in my scene... and there's no specifying a path like there is with IFDs. So I need to do more reading / playing to work out what exactly is happening. I'm pretty sure it's cooking way too much stuff given the time it's taking. Solaris still pretty mysterious to me.

Thanks for sharing your asset - that's exactly the workflow I'd expect. Will check it out next week when I have a moment.
“First things first – but not necessarily in that order”
– The Doctor
User Avatar
Member
306 posts
Joined: 7月 2005
Offline
Hey Brad,

Thanks again for sharing your HDA... got me in the right direction. It is tonnes faster and more elegant than sending the whole rop to hqueue.

I'm attaching my version of the asset in case anyone's reading along.. I've
* Moved to code to the python module
* Fixed issue with missing last frame
* Add redshift flag
* setup expressions to pull most of the info from a USD Render ROP LOP.
* Added eval so supports per frame usd

There's a little bit of guss (ver_cntl_path and jobname expression) that'll only work with my setup - but hopefully this helps others the way your asset helped me.

Cheers,
r.

Attachments:
tpd_usd_hqueuerender.hdalc (9.1 KB)

“First things first – but not necessarily in that order”
– The Doctor
  • Quick Links