Opinion - When we published an article detailing Nvidia's advantage in 3DMark Vantage, we had a good feeling that data might spark some controversy. Using GPU for physics calculation in a CPU benchmark highly suspicious thing in any way you look at it. And in fact, it all appeared that Nvidia has been caught with its hands in a cookie jar. Finger-pointing was the result, but as it turns out, there are always two sides to the story and the benchmark maker has an entirely different opinion.
It isn’t like Nvidia and ATI have always played nice. And if you notice anything but the usual in this industry, you would suspect cheating, just like it is the case in this recent physics outrage, which came up since Nvidia is claiming a huge advantage in the 3D Mark Vantage physics test. Earlier this year Nvidia was involved in the highly controversial Creedgate, when Ubisoft found that their “The Way It’s Meant To Be Played” Assassin’s Creed title was faster on ATI cards. The company decided to remove DX10.1 support, since the game was not just slower, but also unstable on GeForce cards. The explanation following this controversy was received as being rather doubtful.
In the most case of accusations, AMD claims that Nvidia has been fiddling with the 3DMark Vantage benchmark. Just couple of hours after that story was published, ATI partners contacted us with similar claims about Unreal Tournament 3. The whole revolves around driver Nvidia’s driver version 177.39.
It all would be fine and dandy if somebody actually had called representatives of the two software companies and asked them for an explanation what actually happened. We were able to contact to those companies and received surprising statements from Oliver Baltuch, president of Futuremark and Mark Rein, vice president at Epic Games.
Let’s take a step first and look how the physics case unfolded:
November 2004: Nvidia introduces its first commercial chipset supporting multi-GPUs - the nForce 4 SLI for AMD platform. AMD downplays the value of multi-GPU cards, claiming that the value lies within a single-die GPU.
February 2005: Nvidia announces that the company has shipped three million SLI-capable chipsets.
March 2005: ATI's unveils the never-actually-launched X850 Crossfire platform, consisting out of two Radeon X850 boards connected via an external cable. The solution never saw any real volumes.
March 2006: GPU Physics begins its life as a marketing gimmick between ATI and Nvidia. Both companies announce GPU Physics at GDC Spring in San Francisco using Havok FX, a sub-set of the Havok physics API that used the GPU to "animate" physics.
May 2006: At E3 2006 in Los Angeles, key game developers criticized Havok FX and decided to go either with Havok or Ageia's PhysX API - since both APIs are CPU agnostic and work on almost all platforms.
June 2006: ATI was the first company to demonstrate the new technology at Computex in Taipei. ATI using a system with three X1900XTX graphics cards.
September 2007: Intel buys Havok and Nvidia/AMD open negotiations with Ageia. AMD did not want to pay for Ageia and decided that the role of physics on a GPU should be buried.
November 2007: At the AMD Phenom launch in Warsaw, AMD's developer relations manager says: "GPU physics is dead for now".
February 2008: Nvidia announces the acquisition of Ageia.
April 2008: During its Financial Analyst Day, Nvidia announces that a physics driver will be available to the general public by mid-summer. The first public demonstration did not go as planned, but the potential was clear.
June 2008: Nvidia releases PhysX Application Software 8.06.12 first to the general press, then to the public. This version of PhysX enables GPU acceleration of the PhysX API. Controversy sparks around 3DMark Vantage and Unreal Tournament 3.
Looking back in history, we notice that ATI's first reaction to multi-GPU was negative, but the company followed suit with Crossfire and now the company is preaching about advantages of smaller GPUs instead of large monolithic dies. Later, AMD was downplaying the value of GPU physics and then announced that it found an agreement with Intel/Havok. But this move was "too little, too late" for companies like Epic and Futuremark, who made their design call years ago. AMD didn't work on GPU Physics and even tried to bury it. As a result, PhysX has become the physics API of choice for more than 150 games and Futuremark used PhysX in its benchmark.
AMD's Official Statement: Nvidia fools 3DMark Vantage
The issue with AMD attacking Nvidia over 3DMark was summed in an interesting article by my ex-colleague Charlie Demerjian. We have received an official statement from Dave Baumann, former head of Beyond3D and now in a senior technical role inside AMD's graphics unit:
"We believe physics simulation, whether performed on the CPU or the GPU, will be an increasingly important feature of upcoming games. The powerful parallel processing capabilities of modern GPUs have been proven to be very useful for accelerating some types of physics calculations, such as cloth simulations and rigid body collisions, used to enhance game visuals. However, using the GPU in this way only makes sense if it doesn't detract from graphics rendering performance. In other words, adding a few more moving objects into a scene isn't necessarily beneficial if it requires other 3D effects to be simplified, or sacrifices resolution and frame rate.
3DMark Vantage attempts to address the growing importance of game physics by including support for GPU-accelerated physics in the GPU tests, implemented using DirectX 10 geometry shaders. The developers balanced the physics and rendering workloads in a way they felt was reflective of what we would see in next-generation games. Additionally, they included CPU tests that supported the use of Ageia PhysX PPUs to offload some physics calculations from the CPU. This decision was made prior to the acquisition of Ageia by NVIDIA, and the subsequent discontinuation of discrete PPU products.
Recently released drivers from NVIDIA (ForceWare 177.39) fool the 3DMark Vantage benchmarks into thinking an Ageia PhysX PPU is installed, while actually doing the additional physics processing on the GPU. Since Vantage has separate GPU & CPU benchmarks which both include physics processing, this causes the performance benefits of GPU physics to be double-counted, resulting in an artificial inflation of the final score. Real games can be expected to limit the amount of GPU physics processing to avoid significantly impacting rendering performance. Also, we are confident that the vast majority of upcoming game titles will not include support for PhysX, but will instead rely on more popular physics middleware (such as Havok) or proprietary physics engines, which will not benefit in any way from NVIDIA 's PhysX drivers."
Summing up, AMD claims that the ForceWare 177.39 driver "fools" the 3DMark Vantage benchmark. We're not so sure. Ageia has built a very solid library of titles that use the PhysX API. Being a standard library within the Unreal Engine got Ageia more than one hundred contracts alone. PhysX is the most common used physics API for console games (NovodeX and Meqon APIs) today, Sony has licensed PhysX SDK as the official physics engine for Playstation 3 console, Microsoft licensed PhysX for their own Robotics Studio and the list goes on. So, why would we undermine PhysX' value as an API? Because of Intel's Havok?
Wasn't this a case of "fooling" a benchmark in the first place?
Read on the next page: Statements from Futuremark, Epic and Nvidia