FP16 Demotion: A Trick Used by ATI to Boost Benchmark Score Says NVIDIA
Marketing war, that’s all!
I never heard this trick so far. FP16 Demotion is something used by ATI Catalyst driver to boost a bit the performances of 3D rendering in benchmarks or games. What is FP16 Demotion? Simply the use of a 32-bit render target instead of a 64-bit render target. In HDR rendering, it’s common to use a render target where each channel (R, G, B and A) is coded on a 16-bit floating point number, called FP16. So a FP16 render target will use 16×4 = 64-bit for each texel. In order to reduce memory size and speed up access, the catalyst drivers use the R11G11B10 mode: the read channel is coded with 11 bits, the green with 11 bits and the blue on 10 bits for a total of 32 bits per texel. The alpha channel is no longer used.
FP16 Demotion is enabled when Catalyst AI is enabled. So to disable FP16 Demotion, just disable Catalyst AI.
The guys at Atomic MPC have a detailed article on FP16 Demotion and NVIDIA accusation: ATI ‘cheating’ benchmarks and degrading game quality, says NVIDIA.
NVIDIA has included in the NVIDIA GTS450 Reviewer’s Guide a warning about AMD:
Important note if you are testing the following applications:
* Dawn of War 2
* Empire Total War
* Need for Speed: Shift
* Serious Sam II
* Far Cry 1
AMD has admitted that performance optimizations in their driver alters image quality in the above applications. The specific change involves demoting FP16 render targets to R11G11B10 render targets which are half the size and less accurate. The image quality change is subtle, but it alters the workload for benchmarking purposes. The correct way to benchmark these applications is to disable Catalyst AI in AMD’s control panel. Please contact your local AMD PR representative if you have any doubts on the above issue.
NVIDIA’s official driver optimization’s policy is to never introduce a performance optimization via .exe detection that alters the application’s image quality, however subtle the difference. This is also the policy of FutureMark regarding legitimate driver optimizations.
NOTE: If you wish to test with Need for Speed: Shift or Dawn of War 2, we have enabled support for FP16 demotion – similar to AMD – in R260 drivers for these games. By default, FP16 demotion is off, but it can be toggled on/off with the AMDDemotionHack_OFF.exe and AMDDemotionHack_ON.exe files which can be found on the Press FTP.
For apples-to-apples comparisons with our hardware versus AMD, we ask that you run the AMDDemotionHack_ON.exe when performing your graphics testing with these games. In our own internal testing, speedups of up to 12% can be seen with our hardware with FP16 demotion enabled.
NVIDIA provides for reviewers two files called AMDDemotionHack_ON.exe and AMDDemotionHack_OFF.exe that allow to minic AMD FP16 Demotion. And according to Atomic MPC, NVIDIA’s FP16 Demotion is not quite as effective as AMD one.
In the tests, FP16 Demotion brings a slight loss of quality in some cases (Far Cry for example) while the quality remains the same
in other cases.
FarCry, FP16 render target used, FP16 Demotion disabled
FarCry, R11G11B10 render target used, FP16 Demotion enabled