How fast is PhysX on GPU compared to physics engines on CPU?
Asked Answered
D

3

5

I have an application that is written to use the Bullet physics engine. I am running it on an Intel i7 2600K CPU with 8 cores. The application has to process millions of chunks of physics work, each of which can be done independently. It currently runs with 8 processes, each process working through its quota of the total independently. In summary, this work has a lot of easy parallelism.

Assuming that I can acquire the best NVIDIA consumer graphics card (say Titan), what is the ballpark improvement in the physics engine performance I can see by switching from Bullet on CPU to Physx on GPU? That is, approximately how much faster will this application run if rewritten for Physx?

I found a few papers that compare the result quality between Bullet and Physx, but could not find anything about the performance comparison.

Determiner answered 22/5, 2013 at 6:19 Comment(0)
I
2

I found this, it's not a comparison against any specific CPU physics engine but one hopes they are comparing like with like and running PhysX on the CPU.

So it's rather unspecific and from a FAQ by the makers of PhysX so take with a pinch of salt.

From here:

Running PhysX on a mid-to-high-end GeForce GPU will enable 10-20 times more effects and visual fidelity than physics running on a high-end CPU.

Ionopause answered 23/5, 2013 at 7:24 Comment(1)
as a marketing page for PhysX, this is likely not the most reliable source for unbiased information.Fiat
D
4

Pierre Terdimann has done an extensive series of performance comparisons between Bullet 2.81 and PhysX 2.8.4, 3.2 and 3.3 here. These are comparisons between Bullet and PhysX, both running on CPU. It can be seen that the performance difference between the two is dependent on what features of the engine are being used. For a few features, the performance is about the same, while for most others there is a 3-5x speedup.

He also mentions in the addendum that not all physics features have been ported to PhysX on GPU. Cloth and particles can be accelerated on GPU, while rigid bodies is being currently ported to GPU, in a feature called GPU Rigid Bodies (GRB). If there is a feature that is GPU accelerated, then you can expect it to be faster than on CPU, but by how much is not clear.

Determiner answered 30/5, 2013 at 2:36 Comment(3)
it should probably noted that there has been some question as to the validity of methods used in testing Bullet in regards to Pierre's unfamiliarity with Bullet and his employment by nvidia and involvement in the PhysX engine.Fiat
@ixlli. Interesting, where are these questions raised and by whom?Ionopause
@Ionopause bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9095 was hesitant to link; it gets a bit silly and heated between Pierre and some members of the Bullet forum, but I think the relevant portions are the specific examples of inefficient use of Bullet. Personally I have no experience with either but in my research I came across their discussion.Fiat
I
2

I found this, it's not a comparison against any specific CPU physics engine but one hopes they are comparing like with like and running PhysX on the CPU.

So it's rather unspecific and from a FAQ by the makers of PhysX so take with a pinch of salt.

From here:

Running PhysX on a mid-to-high-end GeForce GPU will enable 10-20 times more effects and visual fidelity than physics running on a high-end CPU.

Ionopause answered 23/5, 2013 at 7:24 Comment(1)
as a marketing page for PhysX, this is likely not the most reliable source for unbiased information.Fiat
S
1

Lets say physx is doing particle interactions such as gravity of fluid movement. Then the cache control is very important since they are emberassingly parallel. You cannot directly control your CPU's cache but you can access to cache of titan which makes it maybe 100x faster than a 8-thread cpu.

If it is not so parallel and has many branching and doesnt have exhausting computations then it is around 10x-5x speedup(or whatever bandwidth ratio of graphics ram /main RAM).

Subtreasury answered 24/5, 2013 at 15:12 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.