FP16 Demotion: A Trick Used by ATI to Boost Benchmark Score Says NVIDIA



NVIDIA vs AMD/ATI


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
* Oblivion
* 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.

FP16 render target used, FP16 Demotion disabled
FarCry, FP16 render target used, FP16 Demotion disabled

FP16 render target used, FP16 Demotion disabled
FarCry, R11G11B10 render target used, FP16 Demotion enabled



26 thoughts on “FP16 Demotion: A Trick Used by ATI to Boost Benchmark Score Says NVIDIA”

  1. Romain

    Ok, that’s pretty bad\unfair to reduce the quality asked by the software using a drivers…

    BUT, in the video game world, when it smells like a ducks, look like a duck and walk like a duck : it IS a duck !

  2. Cuong

    Agree!

    I can not see any difference between Demotion disabled and enable. Ati should apply this trick to all games. And Nvidia would copy this trick soon.

  3. Psolord

    Nvidia is using X87 instructions in their PHysX and they still have the nerve to talk about tricks? That’s novel!

  4. goblerone

    Catalyst AI under the Standard setting (default) doesn’t alter image quality.

    There’s no reason to turn off Catalyst AI for benchmarking if you run it in Standard mode.

    NVIDIA is basically full of shit, as usual.

  5. john

    Yes I did, and Psolord, the SSE2 configured PhysX driver is coming in a month or 2. NOT that SSE2 is going to BOOST PhysX performance all that much on a CPU compared to a GPU.

    I find it amazing that Everyone here is giving ATI a free pass on this, but yet, had it been reversed, Nvidia would be getting crucified for it.

  6. jarik

    Take a look at place where waves meet sand, it is much soften when FP16 Demotion is disabled. So it alters visual quality.

  7. gopu

    ATI cards are much slower globally. Just see OpenCL’s performance where they cannot trick. Half the speed of NVIDIA. Period.

  8. Korvin77

    so what? I never use Catalyst AI because I KNOW that it can change visual quality (but I had notice it only once – on textures in FEAR, and it was long ago, on X800XT). big deal.

  9. Korvin77

    but if some players have slow card and wanna play Crysis they usually activate Catalyst AI and they usually KNOW that it can reduce visual quality (if they don’t live at the moon)

  10. jK

    To me it looks like the programmers of the render engines are to blame, esp. because they use RGBA-FP16 textures even when not using the alpha-channel at all …

    Still it is an evil trick by ATi to boost their benchmark results.

  11. Lokavidu

    oh for crying out loud, nvidia this is really stupid, go **** yourself :( making shitty cards? this wont help you.. having good software department with a lot of gpgpu skilled ppl? yeah that will help you, so stop doing bullshit, kthxbai

  12. Korvin77

    “Still it is an evil trick by ATi to boost their benchmark results.”

    haha well said “evil tricks” XD! when people enable Catalyst AI they know that it will use some tricks, well Catalyst AI paradygm is “evil tricks”. this feature of drivers CAN excange shaders, texture formats (oh sh** they use RGB10!!!! what a life!!!!) , also uses some FSAA and aniso (oh man!!!) tricks and much more. if you don’t want to have “evil tricks” then just don’t enable this options. I remember story with NV&ATI&Futuremark – then were real evil tricks because we couldnt control those tricks, but now… we can just disable it!

  13. Korvin77

    and by the way FarCry1 doesn’t have of native support of FP16 formats. in FC it looks sometimes bad and sometimes good but still this is not a good example for comparing http://www.ixbt.com/video2/images/fc13/6800-sm30-3dc-hdr-6.jpg
    I remember problems with quality of FarCry textures on the NV videoboards when “they meant to be played” guys from Crytek out their 1.1 patch. and sh***ty glass in FEAR that looks ugly on NV’s 6000-7000 series because of half precision formats. do you remember this, NVidia?

  14. filip007

    Can’t see much difference and if that give more speed who cares then, 3% worse display but 13% faster so good job ATi.

  15. Cuong

    Quote ” jarik says:
    September 16, 2010 at 5:04 pm
    Take a look at place where waves meet sand, it is much soften when FP16 Demotion is disabled. So it alters visual quality.”

    @jarik: waves always move, so you hardly ever capture the same scenes to compare.
    I am a pixel peeper, and I really don’t see any change in quality.

    My choice
    Price/Performance is pretty accurate on the market, you pay what you get. I just choose Ati because their durability, I own a lot of High-end Ati cards and they haven’t died up to now. In contrast, I owned three High-end Nvidia cards, and they died all. It’s true that Nvidia cards are more powerful than Ati. But I choose Ati, the way my video cards live longer in my PC cases.

  16. Psolord

    @John

    SSE can boost performance of these kind of calculations to a factor of 2X compared to X87.

    Now if you compare that to the multi CPU support that JegX implemented in his Fluidmark Code and game developers still do not (because obviously they are not “encouraged” to do so), we could again another 5X performance from going mutlithreading, instead of single threading.

    We could be talking then for a speed increase of up to 10X and that’s on CPU alone. ATI would benefit much more from this since they haven’t even given a shit for PhysX like ever.

    So do math. Who loses his bragging rights if PhysX gets optimized as it should in the first place?

  17. Psolord

    As for this image degradation issue, I own both a GTX 460 and two 5850s. I cannot see any difference and I am using an IPS paneled 32” Philips FullHDTV that can display a quadrillion more colors than the average shitty TN panel monitors use.

    The freagin thing is stuck right in front of my face, as I use it like I would a monitor. If there was an image issue, I would have seen it.

  18. Stefem

    @Psolord

    2x boost in performance with SSE over x87 is not realistic, probably from 10% to 20% is what you can expect, to get more you need to write SSE code by hand and this is not so easy to do.

  19. gopu

    CPU converts x87 and SSE code to microcodes. The performance is marginal unless you program very specifically for SIMD.

  20. Athlonite

    there’s a colour (<< proper English spelling) difference in the two palm trees by the boulder on the beach
    FP16 demote off = darker green than FP16 demote on

    also FP16 demote off has an smoother transition between sand and surf whereas FP16 demote on the wave seem to just end abruptly and steps down to sand

  21. auld

    Benchmark tricks are part of the game the chip guys play. Nobody is innocent, just some are better at hiding it. Back in my day, 3dlabs were caught drawing many co-linear antialiased lines as one line. The visual result was better (IMO) and they argued this before the OpenGL architecture review board. But OpenGL doesnt allow this, each line must be drawn seperately and the antialiasing meant you could see that it wasn’t. They got nailed for it and had to drop their benchmark scores. It had taken about 12 months for anyone to spot it though so it was worth it for them. Meanwhile all companies would submit special benchmark detecting drivers that had hard paths coded to get better results even though end users never saw anything like that performance. That practice was halted too – and became the tuning panels of today. If theres a benchmark, theres a way to cheat. The trick is to not get caught.

  22. The Trutherizer

    You can turn it off using a sliding control that’s right in front of your face… 0_0 LIke… If that’s evil then bunnies are evil.

  23. dcon

    Maybe!!!…….But still ATI Radeon is my choice ……excellent Video output

Comments are closed.