1
$\begingroup$

I have a smoke animation in blender.

I wonder if it is possible to split the baking process of Physics / Smoke Simulation on several machines.

Can I run part of the simulation like Frame 1 to 100 on one machine and Frame 100 to 200 on another machine while combining both caches to one simulation from 1 to 200 later on? If yes how can I do that?

If no, do you know another option to speedup baking a simulation with the help of multiple machines?

Thanks,

Danny

$\endgroup$
4
$\begingroup$

As far as I know this is fundamentally impossible.

Physics simulations are sequential data, that means each frame depends heavily on the previous one.

To calculate what happens at any given moment you need to know what happened before, so you must have position and status information about every intervening element in the simulation to know where they were and calculate where they will be next.

Without that you can't have just pull out of thin air how a simulation looks at a random point in time without knowing exactly how it was an instant before.

This makes it impossible for a computer to calculate "frame 100" from scratch without having frame 099, or 099 without 098, and so on till the beginning of the simulation from a known "rest position".

| improve this answer | |
$\endgroup$
  • $\begingroup$ Yes with the Blender fluid. I believe that Mantaflow and molecular add-on can calculate from an allotted frame number. $\endgroup$ – Nate_Sycro27 Jan 16 at 0:38
  • $\begingroup$ I thought the same, but was wondering if that could be an option to speed up baking. $\endgroup$ – wizardofOz Jan 19 at 13:20
2
$\begingroup$

Sorry, but I'm afraid not with Blender, either in the old Smoke sim or in Mantaflow. Here's what happens if you attempt to split the frame range-

https://youtu.be/GME_JfkQ9UY

Fluid sims (in my limited understanding) are based around vector fields, as you can see when you bake they seem to get slower as they progress (and the vector fields become larger and more complex), and are effectively built up sequentially. So as you can see in the above video, if you start simulating from frame 25 rather than frame 1, the simulation has no clue what happened from frame 1 to 25- because it has not been simulated.

The only way I know of to use multiple machines to do fluid/smoke sims is to get you wallet out and use Houdini. https://www.sidefx.com/docs/houdini/dyno/distribute.html

We may get GPU accelerated baking in the future, but that would be up to the Developers of Mantaflow itself, and then the Blender implementation of Mantaflow supporting it.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.