Houdini Simulation

I just wanted to share this bit of info in case anyone else wants to do non-distributed sims in Houdini. :smiley:

[size=150]Short Story[/size]

  • When submitting a non-distributed sim. Set the Frames Per Task to the length of your simulation.
    deadline_hou_sim.JPG
    [size=100]Notes[/size]
  • If not, the default 1 Frame Per Task would reset the simulation every frame. Resulting in very long simulation times.
  • Just make sure to switch it back to 1 on regular renders, as this parameter is sticky.

[size=150]Long Story[/size]
I submitted and left a simulation overnight only to find out that the simulation took longer on Deadline than if it was simulated normally on a Houdini GUI.
I stopped the simulation (8 hours through). The previous sim that I did on Houdini GUI only took less than two hours.

After some digging and testing, I noticed that Deadline seems to restart the simulation every frame, thus the very long simulation hours.

Then, after looking through the forums, I found a post by Dwight:

My hopes fell a bit.

But I found a solution/workaround above that kinda works (or it was probably intended to be like this in the first place, I just didn’t know :laughing: ).

Cheers,
Jeff

I would also like to note that the setup I used did not involve the use of the Dynamics ROP.
no_dyna_rop.JPG

I went straight to Geometry output (bgeo files) for the sim.

It involves getting the data out of the DOP network onto SOPs, then using that to render out the cache.

  1. The DOP Simulation network.
  2. A DOP I/O SOP was used to retrieved the simulation data from DOPs to SOPs.
  3. A null was used for convenience. This is then referenced onto the Geometry ROP.
  4. Geometry ROP used to output bgeo files. This is the one that is sent to Deadline (with Frames Per Task matching the length of the sim).

Thanks for the write-up!

Because of the way render managers need to open and close certain applications between chunks of frames, and because simulations are dependant on all previous frames, nearly all simulations are required to run as a single task. I think everyone gets bitten by this at least once… :slight_smile:

You’re welcome Edwin!

Is it possible in the future to maybe have a Simulation Mode option for the submitter, where Deadline would still do a single frame simulation, but have a way for it to display per frame information like simulation time, output file size, and memory used?

Currently, I’m checking the actual files generated for time and size. But I kinda also wanted to see how much memory was used during the simulation.

Or… It would probably also be great if the Slaves can have some sort of toggle where it would start to record a memory usage history which can later be viewed as a graph. Similar to the memory usage graph being shown by the Windows Task Manager. The resulting graph can then be filtered by job ID to only show the specific job that was consuming the memory.

1 Like

Hello,

I can definitely pass these suggestions along to the devs, as I am sure we can do a lot to support these sim jobs better.