The Rest of GF104

Besides adding superscalar dispatch abilities to GF104, NVIDIA has also made a number of other tweaks to the Fermi architecture for this GPU.

As a mid-range product, GF104 does not need to do 2 jobs at once. GF100 had to be usable as a desktop/professional graphics GPU, but also as a compute GPU for NVIDIA’s Tesla line of cards. GF104 will not be a Tesla product, so those compute abilities are not as critical. Specifically, NVIDIA has taken a chisel to Tesla’s flagship compute abilities of FP64 and ECC, which in GF100 desktop GPUs were artificially throttled and disabled respectively.

For GF104, ECC is completely gone. Barring the errant burst of solar radiation, the odds of a flipped bit or other error in the operation of a GPU is extremely slim. NVIDIA only added the feature for Tesla customers who demanded increased reliability as they could not accept a silent error in their work. For graphics however this is unnecessary, so the feature has been dropped.

Double-precision floating-point (FP64) on the other hand hasn’t been entirely dropped. Like ECC, FP64 is primarily a Tesla feature, but at the same time NVIDIA believes it to not be in their best interests to remove the feature. From NVIDIA’s perspective without FP64 on their consumer cards developers could not test and debug FP64 code on their desktops and laptops, which in turn would impede development for Tesla and hurt their efforts to expand in to the professional compute space. As a result GF104 has an interesting compromise on FP64.

For GF104, NVIDIA removed FP64 from only 2 of the 3 blocks of CUDA cores. As a result 1 block of 16 CUDA cores is FP64 capable, while the other 2 are not. This gives NVIDIA the advantage of being able to employ smaller CUDA cores for 32 of the 48 CUDA cores in each SM while not removing FP64 entirely. Because only 1 block of CUDA cores has FP64 capabilities and in turn executes FP64 instructions at 1/4  FP32 performance (handicapped from a native 1/2), GF104 will not be a FP64 monster. But the effective execution rate of 1/12th FP32 performance will be enough to effectively program in FP64 and debug as necessary.

Moving on, we have GF104’s texture units. GF100 was an interesting beast when it came to texturing, as it had texture units more efficient than GT200, but fewer of them overall.  We don’t have any data that points to GF100 being absolutely deficient on texturing speeds, but at the same time it’s hard to imagine that GF100 was overbuilt to the point that losing 32 texture units wouldn’t hurt.

So for GF104, NVIDIA has doubled up on the number of texture units. A “full” GF104 has the same number of texture units at GF100 (64) in half as many SMs. NVIDIA tells us that this change is largely because texture units are small enough that they can be added without consuming too much additional die space, as opposed to requiring additional texture units such as a specific case of lacking texture performance or having too little texture performance relative to shading performance. But this isn’t something we can prove or disprove. High-detail settings optimized for high-end cards often go heavy on anti-aliasing or shading as opposed to textures, so ultimately we’re not surprised that NVIDIA kept the texture unit count constant while reducing the shader count in moving from GF100 to GF104. The shaders will be missed much less than the texture units would have been.

 

Finally, we have the ROPs. There haven’t been any significant changes here, but the ROP count does affect compute performance by impacting memory bandwidth and L2 cache. Even though NVIDIA keeps the same number of SMs on both the 1GB and 768MB of the GTX 460, the latter will have less L2 cache which may impact compute performance. Compute performance on the GTX 460 may also be impacted by pressure on the registers and L1 cache: NVIDIA increased the number of CUDA cores per SM, but not the size of the Register File or the amount of L1 cache/shared memory, so there are now additional CUDA cores fighting for the same resources. In the worst case scenarios, this can hurt the efficiency of GF104 compared to GF100.

For those of you who are curious, with all of these SM changes between GF100 and GF104 the size of a SM did increase, but by nearly as much as one would think: after adding the additional functional units, infusing the warp schedulers with superscalar dispatch capabilities, and removing unnecessary ECC and FP64 hardware, the size of an SM only increased by 25%. This is a tradeoff NVIDIA could not afford on the already massive GF100, but made sense on GF104 where the performance increase could justify the extra die space.

GF104: NVIDIA Goes Superscalar Meet the GTX 460
Comments Locked

93 Comments

View All Comments

  • GeorgeH - Monday, July 12, 2010 - link

    I actually think it should be called a 460. People with a reasonable amount of tech knowledge are going to know the difference, and people without it are already trained to think that a bigger RAM number is always better (see the tons of "bargain" cards with 1GB+ of slow DDR.)

    Basically, the performance differential here is already clear from the full product name, and we have one fewer model number muddying a GPU market already overflowing with a ridiculous amount of model names that have identical, nearly identical, or completely misleading performance capabilities relative to other model names.
  • Daeros - Monday, July 12, 2010 - link

    I would agree with you except for the common practice of mfg's doubling up on VRAM. When that happens, there will be 768MB, 1GB, 1.5GB, and 2GB versions, and people will have no idea the 1.5GB will probably be slower than the 1GB version.
  • tigersty1e - Monday, July 12, 2010 - link

    This line made me read it twice.

    "This in turn means the blades of the fan sit at the same height as the lip, blocking direct airflow out the back. With this design the card is still exhausting at least some air out of the rear of the card, but it shouldn’t be as much as a fully-open card such as our custom Asus GTX 460."

    rear and back are the same thing. I think you meant to say the the cover blocks direct airflow out the front.
  • Ryan Smith - Monday, July 12, 2010 - link

    I define the front of the card to be the side with the display ports, so the cover blocks airflow out of the opposite end, the back.
  • fausto412 - Monday, July 12, 2010 - link

    While a very nice card...too little too late...i got a 5870 3 weeks ago. if you have a high end quad core and want to play BFBC2 in the highest settings only a gtx480 or 5870 will do. i chose the cheaper, cooler and more efficient card.
  • kumquatsrus - Monday, July 12, 2010 - link

    or gtx 460 in sli for less?
  • Jamahl - Monday, July 12, 2010 - link

    Yeah look around, not just at Anand's flawed benches.

    TPU shows sli 460's losing to the 5970 by 20% at 1680 and 1920, and a massive 30% at 2560.

    They aren't even close, but keep dreaming anyway.
  • DominionSeraph - Tuesday, July 13, 2010 - link

    The reply was to a 5870, not 5970. Just a matter of $300 difference between the two.
  • DrMrLordX - Monday, July 12, 2010 - link

    On your power consumption + noise charts (at the very least), the Zotac card's results are shown with white text superimposed over a yellow bar on the graph. This makes the white text almost completely unreadable. One can guess at the numbers based on context, but still . . .
  • bobjones32 - Monday, July 12, 2010 - link

    The benchmarks look good at first look, but then I realized I purchased my current 4870 for $150 nearly a year and a half ago.

    Looking more closely at these benchmarks, the GTX 460 beats the 4870 in most tests, but not by that much, and at lower resolutions the 4870 actually wins.

    Shouldn't it be clear-cut that a $200 brand new card from today destroys a $150 card from nearly a year and a half ago?

Log in

Don't have an account? Sign up now