# Pixel Fillrate and Fermi



## 3dc_member (Nov 20, 2011)

The pixel fillrate in GPU-Z is displayed wrong for Nvidia Fermi based graphics cards. The pixel fillrate seems to be calculated by multiplying the number of ROPs and the GPU clock. But in case of Fermi gpus the pixel fillrate is generally not limited by the number of ROPs but by the number of streaming multiprocessors. Each streaming multiprocessor is capable of processing two pixels per clock. So if there are 16 SMs and 48 ROPs like in the GeForce GTX 580, the SMs limit the pixel fillrate. This is the case for all Fermi based graphics cards i know.
Having more ROPs than pixels that can be processed per clock help to sustain a high pixel fillrate when using multiple samples per pixel (i.e. multisampling antialiasing) but the peak pixel fillrate is limited by the stream processors.
Check out these benchmarks by hardware.fr (scroll down to section 'Fillrate'): http://www.hardware.fr/articles/806-4/nvidia-geforce-gtx-580-sli.html.
The measured peak pixel fillrate of the GeForce GTX 580 is 23,3 GPixel/s. Simply multiplying the 48 ROPs with the 772 MHz gpu clock would give you a peak pixel fillrate of 37,1 GPixel/s. But as the pixel fillrate is limited by the streaming multiprocessors, the peak fillrate is only 16*2*772 MPixel/s = 24,7 GPixel/s. This number corresponds well to the measurement taken by hardware.fr.
If you look at non fermi graphics cards you will see that the measured peak pixel fillrate corresponds well to the product of number of ROPs and gpu clock.

Many reviews cite the wrong peak pixel fillrate for Fermi cards and Nvidia doesn't publish pixel fillrate numbers on the product pages. But knowing the Fermi architectural properties you can easily calculate the right peak pixel fillrate. I hope that GPU-Z will be fixed in a way to show the right peak pixel fillrate on Nvidia Fermi graphics cards.


----------



## Athlon2K15 (Nov 20, 2011)

the almighty w1zzard should stop by in a moment


----------



## 3dc_member (Nov 21, 2011)

Some additional background information on this topic:



> Now, you may be thinking: no more than 8 fragments can be rasterised per GPC per base clock, thus it'd take 4 base clocks to fill a fragment warp, thus apparent rate would be 8 fragments per GPC per clock and thus 32 across the entire chip – why so many ROPs (6 of them equate to a theoretical maximum of 48-fragments per base clock)?  Two reasons, at least in our opinion: first, the memory controller-to-ROP connection is so tight that it would have been quite intrusive to remove the extra ROPs, and second, atomics.


http://www.beyond3d.com/content/reviews/55/9



> As we said, juicy! It's obvious that maximum ROP throughput equals ~16.8 GPixels/s, which is eerily close to 16.996 GPixels/s and exactly what we'd expect if there were only 28 ROPs on-chip, except we know that there are 40 of them. This is the point where we urge you to look upstream, at the ROP analysis, where we had already told you so.


http://www.beyond3d.com/content/reviews/55/13

If you are looking for the correct peak pixel fillrates of reference GeForces have a look at the German Wikipedia:

http://de.wikipedia.org/wiki/Nvidia-Geforce-400-Serie#Leistungsdaten
http://de.wikipedia.org/wiki/Nvidia-Geforce-500-Serie#Leistungsdaten
http://de.wikipedia.org/wiki/Nvidia_Geforce_M#GeForce_400M-_und_GeForce_500M-Serie

Especially for the lower mainstream GeForces the discrepancy between real peak fillrate and displayed fillrate in GPU-Z is large. I.e. the GeForce GT 540M:



10.8 GPixel/s in GPU-Z while the corect value is 2.7 GPixel/s. 2 SMs each processing 2 pixels per clock gives you 4 pixels/clock. At 672 MHz this gives you a peak pixel fillrate of 672*4 GPixel/s = 2688 MPixel/s.


----------



## 3dc_member (Nov 25, 2011)

AthlonX2 said:


> the almighty w1zzard should stop by in a moment


This moment seems to last forever.


----------



## Athlon2K15 (Nov 25, 2011)

It does and im a bit suprised wizzard hasnt said anything


----------



## W1zzard (Nov 25, 2011)

ah i forgot about this, i'll look into it over the weekend


----------



## W1zzard (Nov 26, 2011)

3dc_member, please confirm that this logic needs to be applied to the following gpus:

GF100 (32 shaders per SM)
GF104 (48 shaders per SM)
GF106 (48 shaders per SM)
GF108 (48 shaders per SM)

GF110 (32 shaders per SM)
GF114 (48 shaders per SM)
GF116 (48 shaders per SM)
GF118 (48 shaders per SM) (even though i've never seen any credible evidence that it exists, seems to be GF108)
GF119 (48 shaders per SM)

all numbers correct? any other gpus?


----------



## 3dc_member (Nov 27, 2011)

According to the benchmarks of hardware.fr i can confirm that for GF100, GF104, GF106, GF110, and GF114 at least:

http://www.hardware.fr/articles/795-4/tests-theoriques-pixels.html
http://www.hardware.fr/articles/818-6/tests-theoriques-pixels.html
http://www.hardware.fr/articles/801-4/tests-theoriques-pixels.html
http://www.hardware.fr/articles/806-4/tests-theoriques-pixels.html

I can find no corresponding benchmarks for the low end parts but i don't think that they show any other behaviour.


----------



## W1zzard (Nov 27, 2011)

please check if the attached build gives you the correct results


----------



## 3dc_member (Nov 27, 2011)

I've got no Fermi-GPU available, so other users with a GeForce 400/500 should check it out and compare with those values (the ones with GPixel/s as unit):

http://de.wikipedia.org/wiki/Nvidia-Geforce-400-Serie#Leistungsdaten (the value for the GeForce 405 and GT 420 seems to be wrong)
http://de.wikipedia.org/wiki/Nvidia-Geforce-500-Serie#Leistungsdaten (the value for the GeForce 510 and GT 520 seems to be wrong)
http://de.wikipedia.org/wiki/Nvidia_Geforce_M#GeForce_400M-_und_GeForce_500M-Serie (the values for the GeForce 410M/GT 415M/GT 520M/GT 520MX seem to be wrong)


----------



## 3dc_member (Nov 29, 2011)

A user at the forums of 3DCenter.org tried your testbuild with a GeForce GTX 460 and it seems to work:
http://www.forum-3dcenter.org/vbulletin/showpost.php?p=9055220&postcount=359
He also measured the pixel fillrate which gave a peak of around 9.5 GPixel/s for color fills while your testbuild of GPU-Z displays 11.2 GPixel/s (which is the correct theoretical value in my opinion).

I noticed that you used the testbuild for the reviews of the GeForce GTX 560 Ti 448 cores.


----------



## W1zzard (Nov 29, 2011)

3dc_member said:


> He also measured the pixel fillrate which gave a peak of around 9.5 GPixel/s for color fills while your testbuild of GPU-Z displays 11.2 GPixel/s (which is the correct theoretical value in my opinion).


gpu-z displays theoretical values. thanks



> I noticed that you used the testbuild for the reviews of the GeForce GTX 560 Ti 448 cores.



nice catch, didnt notice myself  the vga test system has a shortcut to the latest debug build on my work pc. so when i took those screenshots it used that build.


----------



## 3dc_member (Nov 29, 2011)

Just to confuse you: The peak pixel fillrate can also be limited by the memory bandwidth if there isn't enough write cache with sufficient bandwidth available for the ROPs.
I.e. you got 17 GB/s (~DDR3-1066 @ 128 Bit) of memory bandwidth and 4 ROPs @ 2000 MHz (overclocked Intel HD Graphics 3000). Then the theoretical fillrate according to the ROPs should be 8 GPixel/s. But if you want to write 8 GPixel/s with 32 Bit per Pixel = 4 Byte per Pixel you need a memory bandwidth of 8*4 GByte/s = 32 GByte/s. So 17 GByte/s are not sufficient for 8 GPixel/s and the peak pixel fillrate will be limited to 4.25 GPixel/s.
As an example: http://www.forum-3dcenter.org/vbulletin/showpost.php?p=8497061&postcount=112.
DDR3-1066 -> 3.58 GPixel/s measured
DDR3-1333 -> 4.48 GPixel/s measured
DDR3-1400 -> 4.54 GPixel/s measured

As long as your write cache is large enough for the workload and has enough bandwidth, there won't be a limitation of the peak pixel fillrate.

I wouldn't consider bandwidth limitations of the peak pixel fillrate in GPU-Z.


----------



## True Christian (Jan 28, 2014)

It makes sense. A GTX 760 2GB is over twice as fast as a GTX 460 1GB with the same amount of ROPS (32). My GTX 460 1GBs are limited to 11.7GPixels/sec whereas the GTX 760s are not limited.

I guess I'm going to upgrade to 2 eVGA GTX 760 2GB SC w/ ACX coolers SLI.


----------

