After we published our story about a Gainward representative accusing 3DMark03 build 340 of disabling certain features of NVIDIA drivers, we received some additional clarifications from Futuremark Corporation, the developer of 3DMark03 benchmark, and NVIDIA, the developer of the GeForce FX hardware and software.
An official from NVIDIA Corporation confirmed Mr. Tismer’s accusation that “patch 340 disables the GPU compiler. The compiler has to run on the CPU instead resulting in code harder to digest and taking away 20% of the performance.” “Yes, that is actually the case with the new patch 340 that Futuremark posted,” said an NVIDIA spokesperson on Wednesday.
“Few weeks ago we released our 52.16 driver that includes our brand new unified compiler technology. With the new patch the benchmark, our unified compiler gets not used by the app so it goes to CPU and we are definitely slower,” Luciano Alibrandi, NVIDIA’s European Product PR Manager, added.
In a response to these accusations, Executive Vice President of Sales and Marketing for Futuremark said: “Wolfram is totally wrong here because what he suggests is not even feasible technically. 3DMark03 does not talk to graphics driver, it talks to the DirectX API, which then talks to the driver. Thus, it is impossible for the application to disable GPU compiler.”
“One of the things the unified compiler does is to reinstruct the order of lines of code in a shader. By simply doing this the performance can increase dramatically since our technology is very sensitive to instruction order. So if this is not happening we have a performance penalty,” said NVIDIA’s representative today.
“The only change in build 340 is the order of some instructions in the shaders or the registers they use. This means that new shaders are math1ematically equivalent with previous shaders. A GPU compiler should process the old and the new shader code basically with the same performance. Of course, if there are application specific optimizations in the driver that depend on identifying a shader or parts of it, then you might see performance differences because these optimizations will not work if the driver is not able to detect the shader, ” Tero Sarkkinen added.
“Our position is that our unified compiler delivers the best gaming experience possible, and as long as we produce the right image and simply do not accelerate just a benchmark then it is good to optimize and use a compiler,” the official from NVIDIA acknowledged.
“Let's also repeat that 3DMark specific driver optimizations are forbidden in our run rules because they invalidate the performance measurement and the resulting score is not comparable to other hardware. Thus, the right conclusion is that the new version of 3DMark03 is now very suitable for objective performance measurement between different hardware,” Executive Vice President of Sales and Marketing for Futuremark summarized.
There seems to be another big misunderstanding between two companies. One side says the Unified Compiler is disabled by Futuremark 3DMark03, while the developers of the benchmark acknowledge us about technical impossibility of this task. Futuremark has never been caught on disabling anything useful in drivers for graphics cards; on the other hand, NVIDIA was accused of 3DMark03 specific optimisations earlier this year.
Stay tuned, as we are going to post more clarifications on the matter later.