PhysX on nVidia GPU? Does it work yet, and what is it worth?

lol! love you man, always got ma back External Media

External Media

(im not **** babes)

love you too dude! External Media

lol internet forum male bonding type of love :D

the ONLY type of love ^_^

</off topic> back to your cuda discussions External Media

yeah before my homie has to flame you again

External Image

I realize this is a rather old topic, but I feel it warrants some clarity.

http://techgage.com/article/nvidias_physx_…_status_report/

There is your answer.

However, before we start jumping to conclusions about physics (more specifically, PhysX) computing on the GPU, let’s actually break all of this down and analyze it.

The tests in that benchmark used an Asus 9800 GTX against a quad core Core 2 and a series 100 PhysX PPU. Let’s review their stats, shall we?

Asus EN9800 GTX:

GPU Clock: 675 Mhz

128 Stream Processors @ 1688MHz

512 Megabytes of onboard memory clocked at 2.2GHz (256-bit).

Interface: PCI Express 2.0

You can also cook on the heat-sink of these things. :P

Source

Intel Core 2 Extreme QX9650 Quad-Core 3.0GHz

If that doesn’t say enough for you - feel free to read through a more thorough analysis of this CPU: Here

And here

Safe to say this thing is a serious number-crunching monster. Think of it like Cookie Monster chomping away at cookies with his three clones (even though I feel AMD has the better design in mind… they just need to get it working better and improve the core operations in their next core revision).

And finally, we have the PhysX PPU - which is shrouded in a little bit of mystery:

http://www.behardware.com/articles/622-2/p…geia-physx.html

The review is somewhat dated, and owning a card, myself - I come to different conclusions than they do. However, it’s one of the few that actually touches on the architecture.

http://www.blachford.info/computer/articles/PhysX2.html

That article gets into the architecture of PhysX (or possible architecture) and sets a number for the number of vector processing units that is reasonable - 16.

So, based on what we can infer from this PPU, it’s using:

16 vector-processing units (clock unknown)

PPU clock (unknown if this is equivalent to VPU clock) somewhere in the 250-266/500-533 range. Source

128 megabytes of memory clocked at 733Mhz (“effective” - so actual memory clocks are lower) - 128bit.

Oh, and it only consumes about 30 watts at full-tilt.

So, it’s safe to say that the PhysX PPU is very similar to the unified shader concept of DirectX 10 and Nvidia’s CUDA. So when you take a GPU - which has something like eight times the “shader” count, over four times the clock speed (based on the shader clocks - not the GPU clock - assuming the PPU clock is universal), a serious increase in the amount of memory and its speed, and combine that over a bus with a mere faction of the latency of legacy PCI… of course the GPU is going to beat the pee-wanny out of the PhysX PPU.

However, Nvidia’s “stream processors” are not geared for the mathematics regarding physics. Which isn’t really that big of a problem, because the unified shaders are capable of performing these processes far more efficiently and numerously than the CPU. So the PhysX PPU is still more efficient - especially when handling soft-bodies and other types of physics computations that other architectures stumble over. Note that efficiency is figured on “clock per clock.”

That all being said; Nvidia could easily expand their GPU architecture to further optimize PhysX calculations through their unified shaders. This could be done in any number of ways - from expanding shader functionality to a separate set of on-die vector processing units.

For the time being, though, until Nvidia comes up with a way for you to be able to plug in your old GeForce 8/9 series card in next to your brand new card and use it as a dedicated physics processor - PhysX intensive games (that are also very graphically taxing) are best played with a PhysX PPU (I saw that they finally got a PCI Express version out, now - which should do wonders for performance; I strongly feel that the legacy PCI bus was the bottleneck due to high latency - bandwidth was likely not taxed too much, but latency can be a killer). The GPU still has to do everything it would do - plus physics. The cool part here is that you can see what happens to your performance if you enable PhysX support on your GPU before you decide to spend the money on a PhysX PPU. If you’re able to play your game with improved results and visual quality is to your satisfaction - then you’re good. If your performance drops, and you still want the PhysX support… consider purchasing a PPU.

I really do look forward to where Nvidia will take PhysX in the future. As a flight-simulator nut, I can’t wait until the face of flight dynamics models and simulated electromagnetic emissions (radar, radio, etc) are forever changed. For the time being, however, I’m hoping that, when I build a new system, I can take an old 8600 I have and plug it in next to the latest and greatest GPU to put it to work for PhysX acceleration. A card built specifically for PhysX acceleration would be nice, as well - since it would likely be more efficient performance/watt compared to a GPU.