If geeks love it, we’re on it

AMD, NVIDIA squabble over PhysX… Again

AMD, NVIDIA squabble over PhysX… Again

Another day, another tempest in a teapot: The GPU giants have once again begun exchanging sissy slaps about the specifics of NVIDIA’s PhysX physics engine.

In an interview conducted with bit-tech, AMDs Worldwide Developer Relations Manager Richard Huddy openly accused NVIDIA of removing optimizations for multi-core CPUs to artificially inflate the performance impact of a PhysX-enabled GPU.

The other thing is that all these CPU cores we have are underutilised and I’m going to take another pop at Nvidia here. When they bought Ageia, they had a fairly respectable multicore implementation of PhysX. If you look at it now it basically runs predominantly on one, or at most, two cores. That’s pretty shabby! I wonder why Nvidia has done that? I wonder why Nvidia has failed to do all their QA on stuff they don’t care about – making it run efficiently on CPU cores – because the company doesn’t care about the consumer experience it just cares about selling you more graphics cards by coding it so the GPU appears faster than the CPU.

It’s the same thing as Intel’s old compiler tricks that it used to do; Nvidia simply takes out all the multicore optimisations in PhysX. In fact, if coded well, the CPU can tackle most of the physics situations presented to it. The emphasis we’re seeing on GPU physics is an over-emphasis that comes from one company having GPU physics… promoting PhysX as if it’s Gods answer to all physics problems, when actually it’s more a solution in search of problems.

Following up with NVIDIA, Tom’s Hardware contacted PhysX Director of Product Management Nadeem Mohammad to offer the opposing viewpoint.

I have been a member of the PhysX team, first with AEGIA (sic), and then with Nvidia, and I can honestly say that since the merger with Nvidia there have been no changes to the SDK code which purposely reduces the software performance of PhysX or its use of CPU multi-cores.

Our PhysX SDK API is designed such that thread control is done explicitly by the application developer, not by the SDK functions themselves. One of the best examples is 3DMarkVantage which can use 12 threads while running in software-only PhysX. This can easily be tested by anyone with a multi-core CPU system and a PhysX-capable GeForce GPU. This level of multi-core support and programming methodology has not changed since day one. And to anticipate another ridiculous claim, it would be nonsense to say we “tuned” PhysX multi-core support for this case.

PhysX is a cross platform solution. Our SDKs and tools are available for the Wii, PS3, Xbox 360, the PC and even the iPhone through one of our partners. We continue to invest substantial resources into improving PhysX support on ALL platforms–not just for those supporting GPU acceleration.

As is par for the course, this is yet another completely unsubstantiated accusation made by an employee of one of our competitors. I am writing here to address it directly and call it for what it is, completely false. Nvidia PhysX fully supports multi-core CPUs and multithreaded applications, period. Our developer tools allow developers to design their use of PhysX in PC games to take full advantage of multi-core CPUs and to fully use the multithreaded capabilities.

We have not yet had time to evaluate the merits of either claim by ourselves, but the wisdom of conspiracy seems to apply: The more parties you involve, the less likely you are to keep your secret. Given the relatively high number of developers working with PhysX, it seems rather unlikely that NVIDIA has been able to architect a vast and secret conspiracy within the PhysX SDK that emphasizes the GPU by stripping multi-core optimizations.

Nevertheless, perhaps all of this bickering will go away when NVIDIA actually has a DirectX 11 GPU in the channel, and AMD has brought a physics package of its own to market.

Comments

  1. Cliff_Forster
    Cliff_Forster It would be nice if the industry would finally move forward with an agreed upon open standard. Physics are going to be the next big thing in gaming graphics, not silly at home 3D implementations, not even multiscreen ultra high res set ups. Even all the amazing things DX11 can do to render more realistic imagery is not going to advance the core gameplay. Physics will when its implemented properly. I want a game where everything I touch moves realistically. I want a game where absolutely everything in the game world reacts to my input. Thats the future of gaming. Unfortunately the standards battle is holding it all up. No gamer wants to be boxed in. Direct X is bad enough, it more or less forces computer gamers to choose windows, if Phys X catches on, the only real way to accelerate it properly is going to be on an NVIDIA card. The day I'm boxed out of a game I want to play because I can't play it on my branded hardware is the day I stop gaming on PC.
  2. deetex Wait, what...? so basically, nVidia stated the physX SDK hasn't changed since the early days of Ageia, and yet they've stopped supporting the dedicated PPU's altogether? Bit of a contradiction there...
    And correct me of I'm wrong, but isn't the Wii powered by a dressed-down Ati Radeon form the HD1*** series?
  3. coldalarm
    coldalarm ATi don't need to bring a physics package to arms at all. There's other contenders out there such as Havok, which in turn was modified by Valve to be one of the better (if not the best) physics engine out there.
    I think the problem with PhysX is that it's owned by nVidia, and unless they do something with it then we won't see any change in the stalemate at all. Support for PhysX has increased (Wooo, Mirror's Edge!) but it's still not... anywhere, I guess. Aegia didn't have a lot of success with the dedicated card, and I think it would end up flopping if nVidia went back down that route. Turn it into a purely software solution, just like the other engines out there, and leave it alone. There's enough CPU grunt around now to do that along with the other tasks, and perhaps if it's made independent of the GPU we'll actually get working nVidia drivers ;)

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!