Fluild dynamics - Baking uses only CPU. Why not GPU?

I wonder why Blender doesn’t use the GPU when baking fluid dynamics. Even with a top of the line HP Z820 - baking fluid dynamics takes so long as to be unusable for me.

When I see how much faster Blender and Cycles rendering is when I use my GTX 570 CUDA card, it makes me wonder why baking fluids can’t also use the GPU/CUDA?

even worst than that if i remember the symulation is just one one core xD

I wonder why Blender doesn’t use the GPU when baking fluid dynamics. Even with a top of the line HP Z820 - baking fluid dynamics takes so long as to be unusable for me.

When I see how much faster Blender and Cycles rendering is when I use my GTX 570 CUDA card, it makes me wonder why baking fluids can’t also use the GPU/CUDA?
If someone steps up to the mark to code it, they’re more than welcome to.

Get an OpenMP build for multithreaded baking

I guess the question is what duration would make it usable for you. There are different approaches to fluid sim, Blenders implementation is computationally intensive, but gives good results. Also, as Richard points out, make sure you have an OpenMP build (i.e all cores will be used).

When I see how much faster Blender and Cycles rendering is when I use my GTX 570 CUDA card, it makes me wonder why baking fluids can’t also use the GPU/CUDA?

You can’t just snap your fingers and have existing code work on the GPU. Most likely you’d have to rewrite it from scratch, with all the limitations of GPUs in mind. Also, some algorithms may actually perform worse on GPUs. Fluid Sim is likely one of these problems where not being able to fit the entire workload on the GPU memory will make it either “not work” or “work too slowly”. Blenders Fluid Sim also happens to be quite memory intensive, so you’d be quite limited.

a long time ago… blah, blah blah… I remember when I first messed around with getting multiple cores to work together
back then it wasn’t multiple cores, PC’s only had 1 core, it was multiple machines
we used a library called PVM to split a job among multiple machines, the results were stunning
back then (after I rode my dinosaur to work) folks referred to rendering as being “trivially parallel”
google “pvmpov”
you just split the screen in 2 and send half to 2 different machines, then collect the results, easy
GPU’s handle this kind of work load really well, it’s what they are built for
physics sims are definitely NOT “trivially parallel”
It blows my mind how well openMP handles it
whatever genius makes this stuff work on a GPU (or on openMP for that matter) has my eternal respect

Dave

so basically you can only do liquid bakes on your cpu Right??

I am pretty new to blender. So far I don’t see any option to choose GPU for bake.

Correct. Not that it couldnt be gpu accelerated in the future but fast cpu and ram will help with the speed and if using a disk cache a ssd would be advisable

1 Like