3
$\begingroup$

I realise that the GPU can be used in Blender to accelerate rendering, but can the GPU be used to just perform animation/physics simulation?

I'm currently using Blender to import some OBJ files, apply some physics modifiers to them, run an animation/simulation and export the resulting OBJ file, i.e. I'm not using Blender for rendering purposes at all.

I did some performance tests and it seems like a GPU can only utilised for rendering and does not affect the animation/physics simulation performance. Is this correct?

Does anyone know if it's possible to utilise the GPU for physics simulation with any software? Note: I require soft body (cloth) collision physics, not just rigid body.

$\endgroup$
3
$\begingroup$

No, unfortunately GPU based processing for operations besides rendering is not available at the moment.

It is possible (check out this demo by Nvidia), so perhaps it will be in Blender sometime in the future :)

| improve this answer | |
$\endgroup$
  • $\begingroup$ OK so it seems like physics on the GPU is still very much a new and rapidly evolving concept. $\endgroup$ – Matt Mar 27 '14 at 10:55
0
$\begingroup$

by my understanding, the cpu would be the better choice... gpus are faster for rendering because they are designed specifically for such tasks. they store and process data in a way that is most efficient for things like texturing and shading... but physics are more of a hard math kinda thing... indeed if you could share the workload between the cpu and the gpu it would yield better results, but no more so than a better processor...

although i will say that gives me an idea xD...

anyone willing to pay for a "Physics Processing Unit"?

| improve this answer | |
$\endgroup$
  • $\begingroup$ There already is such a thing, however GPGPU (general purpose gpu) technologies (e.g. CUDA and OpenCL) are making GPUs more like PPUs already. I don't really know much about how these things work at a low level, but I would say it's all "math kinds of things" at some point. $\endgroup$ – gandalf3 Mar 27 '14 at 6:46
  • $\begingroup$ @gandalf3 interesting... keep in mind that certain tasks depend on certain pieces of data. tasks specialized for a gpu would make sure data like mesh coordinates, and color values are not recalculated needlessly. processors can be designed to be more efficient at working with specific data. with graphics you can assume that you will need to work with things like vector data and color values more than single numbers. so GPUs are optimized for these tasks, while cpus make no assumptions about the data being worked with. thats why some programs crash with the wrong gpu. (cough intel cough) $\endgroup$ – Konner Rasmussen Mar 27 '14 at 6:58
  • $\begingroup$ Full GPU support for bullet comes with bullet 3. It is currently in development. However I can not say when it will be ready and ported over to blender. But Ton planned a physics rewrite for blender 2.8. roadmap $\endgroup$ – user2859 Mar 27 '14 at 8:27
  • $\begingroup$ I don't know much about physics engines, but I do know that GPUs are ideal for rendering because they are able to perform many more tasks in parallel than a CPU can, specifically the vertex and texture shading of individual pixels. I assumed that GPUs could not be used for physics simulation because it involved a lot of inter-dependent calculations (tricky with GPUs), so it surprises me to learn that they are starting to be used for physics simulation. $\endgroup$ – Matt Mar 27 '14 at 11:03
  • 2
    $\begingroup$ Well currently only the rigid body pipeline is in the works. I dont know if softbodies will follow soon. But its possible gpu softbodies --- bullet gpu rigid bodies $\endgroup$ – user2859 Mar 27 '14 at 12:41

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.