Can we put on hold render/simulation ?

   6407   4   0
User Avatar
Member
13 posts
Joined: March 2013
Offline
Hi

I didn't start to use Houdini yet but i'de like to know if it's possible to put on hold/pause a render/simulation and resume it later (i don't have a workstation, just a high end all in one PC.

And is it possible to set a max amount of % of the CPU and memory that houdini will use so i can have ressources for other thing at the same time such as browsing internet.

Thx
User Avatar
Member
390 posts
Joined: Jan. 2012
Offline
yes to all
.
User Avatar
Member
13 posts
Joined: March 2013
Offline
Great! Thx for the answers!
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
Needsun
I didn't start to use Houdini yet but i'de like to know if it's possible to put on hold/pause a render/simulation and resume it later (i don't have a workstation, just a high end all in one PC.
Yes you definitely can. Actually you can do this in all the ways that are possible to start a simulation and start a render.

If you are simulating by hitting play in Houdini, just pause the playbar.
If you are rendering in the ipr pane, you can pause and restart a render using the ipr controls at the top of the pane.

If you started a simulation job and/or a render job from the Render Output Driver (ROP) nodes, you will get a pop-up process dialog where you can press the Pause button to temporarrily suspend the job.

You can use the Render Scheduler Pane in Houdini to pause background render jobs.

If you launched the render job to hqueue on your render farm, then you can use hqueue to suspend and re-start render jobs. You can even restart render jobs on specific frames in case the render failed for some reason.

And is it possible to set a max amount of % of the CPU and memory that houdini will use so i can have ressources for other thing at the same time such as browsing internet.
Again there are a few different ways to do this.

For CPUs,
—-

You can launch houdini with the -j option like this:
houdini -j 6
where 6 would be the number of main threads that Houdini can open. If you have 8 processors, setting -j 6 would give you two procs free to do other work.
If you use shells, simply type houdini -j 6 </path/file.hip> will do just fine.
If you use shortcuts (from windows, mac or linux), you can create a copy of the default shortcut and alter the execute command from houdini to houdini -j 6 where 6 makes sense with 8 procs. Adjust to taste.

—-

If you forgot to type in -j 6 and Houdini is already running, you can change the affinity of the current running process and all spawned processes will inherit that affinity. This means settting affinity for Houdini will cause any Mantra processes to inherit this affinity setting as well.

On windows, you can open up the task manager and rmb on the Houdini process then choose the “change affinity” option and you can now check off a couple processors to free them up.
Similar on mac and linux as they all have a way to dynamically limit the current running threaded process to use specific processors.

—-

There is an environment variable option as well. You can set a system or user environment variable called “HOUDINI_MAXTHREADS”.
HOUDINI_MAXTHREADS defaults to a setting of -1 which means use all the processors available. You can set this environment variable to whatever value you want and Houdini will be limited to these threads, identical to using the -j command option above.
On windows, this doesn't make sense unless you always want Houdini to run with a free proc or two all the time. Unless you use shells that is or set up different Windows user log-ins and set HOUDINI_MAXTHREADS as a user-defined variable.


As for Memory, well that is more challenging.

Simulations will use whatever resources they need. There are ways to partition your simulations and run them in parts. Some methods require simulations to distribute to other machines in concert (flip distributed sims, fluid distributed sims) while others can be run one-by-one, even on the same machine as with cluster/instance container set-ups for smoke and pyro simulations.

For some simulations you can run lower resolution simulations and then up-res later on as with smoke and pyro. There are shelf-tools to help you set this up.


Rendering with Mantra and controlling memory offers a few more controls for tuning but again if you are using raytracing or pbr, the entire scene generally is loaded in to memory so you need to manage your level of detail and in some extreme cases, divide your scenes in to foreground, midground and background passes and merge in comp. Shading Quality can be used to lower quality to claw back some memory of larger scenes.

If you use the Micropolygon render engine in Mantra, things change a lot but this means raytracing is not used and you rely on time-tested direct scanline rendering using buckets in REYES (Renders Everything You Ever Saw). The bucket size and shading quality are the two key tools to tune memory with microplogyon rendering.

There is a general memory control on the Mantra ROP output driver used by all render engines (PBR, raytracing, Micropolygon rendering) where you can set memory cache thresholds for textures and other data that Mantra can pass in and out as the render progresses at the cost of more disk access. As an individual artist this isn't that bad to set up and use but if you are at a studio with a central server, passing 100+ 8k texture maps per scene over and over to render a plate will stress even the most robust network setups when set too low.


Hope this helps you get in to Houdini.
There's at least one school like the old school!
User Avatar
Member
13 posts
Joined: March 2013
Offline
Thanks for this very compelte answer!
  • Quick Links