All GeForce 8 Graphics Cards to Gain PhysX Support
J. Dzhugashvili writes "Nvidia completed its acquisition of Ageia yesterday, and it has revealed exactly what it plans to do with the company's PhysX physics processing engine. Nvidia CEO Jen-Hsun Huang says Nvidia is working to add PhysX support to its GeForce 8 series graphics processors using its CUDA general-purpose GPU (GPGPU) application programming interface. PhysX support will be available to all GeForce 8 owners via a simple software download, allowing those users to accelerate games that use the PhysX API without the need for any extra hardware. (Older cards aren't CUDA-compatible and therefore won't gain PhysX support.) With Havok FX shelved, the move may finally popularize hardware-accelerated physics processing in games."
Better is very subjective. We have both nVidia and ATI based thinkpad laptops running Ubuntu at work. And what I've noticed is that the ATI ones can do a kernel update with out screwing up the gfx drivers and they can switch between single and dual monitors (necessary when going on and off dock) without restarting X. On the other hand the nVidia ones have a pretty lil graphical config tool, while the ATI ones use a somewhat arcane and unreliable command line program. Personally I wouldn't trade my ATI one for an nVidia one any day, I very much like being able to unplug from the dock and switch down to single screen without closing and restarting all my apps.
Obviously, gravity and other kinds of non-steady motion are good targets for acceleration. And because of NVidia's evil closed source drivers, the best way to accelerate your GeForce is at 9.81 m/s**2.
Escher was the first MC and Giger invented the HR department.
From what I understand of this (and I could be wrong), the physx accelerator is primarily used to add eye-candy -- so things like showers of sparks, sprays of blood, geysers and clouds of dirt or water or snow on an impact (whether a footfall or a weapon strike...), leaves falling when you shoot trees, better hair and clothing, clouds, rain drop impacts, etc, etc.
All the physics processing for all those particles can be offloaded to the physx engine, allowing more particle effects to be going on at higher level of detail and realism (e.g. incorporating 'wind' etc..) without dragging down the cpu.
Its cool... but not earthshattering. And its a logical step to incorporate it into a video card.
I don't honestly know if it it can really be used to assist with the trajectory calculations of the interactive players tank or fighter plane or whatever, etc... but I doubt it. And it probably doesn't matter either. That is a minor part of the scene...each shower of sparks by itself probably requires more physics calculations than an entire squadron of planes... more independant particles in the shower.
On the CUDA forums, we've gone back and forth about this, and the diagrams that people base this statement on are backwards. There are 16 multiprocessors (to use the NVIDIA terminology), each with 8 stream processors per multiprocessor. The 8 stream processors on each multiprocessor run the same instruction at once, but on separate register files. Multiprocessors, however, are completely independent, so in principle, one could imagine partitioning the resources between physics simulation and 3D rendering. This sort of partitioning has not been made available through CUDA yet, but hopefully this means we will see it soon.
You are correct that these 128 stream processors (however you slice them) are the main compute engine. There is additional circuitry to do hardware accelerated video decoding, but NVIDIA has not exposed that functionality to 3rd party programmers, and it isn't used during 3D rendering.