Why does nVidia always put more transistors on their GPUs than ATi does?

SickBeast

Lifer
Jul 21, 2000
14,377
19
81
This is really baffling me. The NV30 series has more transistors than the R300 series. On top of that, NV30 typically runs at higher clock speeds than R300.

I'm not trying to start a flame war, I just want some intelligent discussion.

WHY is nVidia "wasting" so many transistors? Do they simply have more features than ATi's offerings, waiting to be unleashed? I know the 6800U has PS3.0, and that does take up sizable trasistor counts, but it still does not explain the NV30. WHY??
 

BlvdKing

Golden Member
Jun 7, 2000
1,173
0
0
From what I have heard, the ATI team knew exactly what DX 9.0 would entail and designed their R300 GPU around those specifications. NVidia for some reason did not know the specs of DX 9.0 and had to guess, which is partially a reason for the inefficency in trasistor count.

Other than that, I don't know and would like to hear other theories. :beer:
 

Rudee

Lifer
Apr 23, 2000
11,218
2
76
Shoddy engineering. Same thing when it comes to software. You can have two different software programs which produce identical results, however, one software program can contain significantly more code. The software with more code is inefficient. We wouldn't need super fast hardware if developers wrote more efficient code.
 

Pete

Diamond Member
Oct 10, 1999
4,953
0
0
A. More hardware features (FP32, SM2.0+/SM3.0).
B. Different method of counting transistors (ATi: logic only, nV: logic + cache).
 

titanmiller

Platinum Member
Jan 5, 2003
2,123
2
81
Originally posted by: Pete
A. More hardware features (FP32, SM2.0+/SM3.0).
B. Different method of counting transistors (ATi: logic only, nV: logic + cache).

these sound the most logical to me.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
There is no loss of efficiency, there is no shoddy design, there is no issue of oer engineering (ie: not knowing the spec - and for the NV30 they just wanted some things in the spec they had designed for and didn't get them, and the NV40 is a reworked design and still has more transistors, and they knew DX9 spec).

ATi - 24bit precision
nVidia - 32 bit precision.
nVidia - 33% more bits.
There is no way to store the extra information except by using more transistors, as it requires 33% more space, you need 33% more transistors.
There is only something like 25% difference because not everything on the GPU is the pipeline, but it's a large part, so the 33% extra that nVidia need to support 32 bit precision means they need more transistors than ATi.

ATi decided the extra space required to go full 32-bit was too much for the gains it provided (higher precision) so they opted not to go for it. Hence they have a smaller (and less complex) design.
 

Schadenfroh

Elite Member
Mar 8, 2003
38,416
4
0
why the hell would you need 32bit precision? do any games support it and what does it offer over the 24bit?
 

g3pro

Senior member
Jan 15, 2004
404
0
0
Originally posted by: Rudee
Shoddy engineering. Same thing when it comes to software. You can have two different software programs which produce identical results, however, one software program can contain significantly more code. The software with more code is inefficient. We wouldn't need super fast hardware if developers wrote more efficient code.

Spoken like a true non-engineer. :roll:

STFU if you don't know what you are talking about. There are ALWAYS trade-offs in IC design.



The software with more code is inefficient.

Spoken like a true non-computer scientist. :roll:

Code can be extremely inefficient if the code is 2 lines. Code can be extremely efficient if the code is substantially longer than the code which does the same thing. Recursion vs. Looping. It's the core of CS.

But you would be the know-it-all side-line quarterback-jockey who knows the wonders of engineering and computer science. I BOW DOWN TO YOUR ALL-KNOWING BRAIN, MASTER!!!
 

sparkyclarky

Platinum Member
May 3, 2002
2,389
0
0
Originally posted by: g3pro
Originally posted by: Rudee
Shoddy engineering. Same thing when it comes to software. You can have two different software programs which produce identical results, however, one software program can contain significantly more code. The software with more code is inefficient. We wouldn't need super fast hardware if developers wrote more efficient code.

Spoken like a true non-engineer. :roll:

STFU if you don't know what you are talking about. There are ALWAYS trade-offs in IC design.



The software with more code is inefficient.

Spoken like a true non-computer scientist. :roll:

Code can be extremely inefficient if the code is 2 lines. Code can be extremely efficient if the code is substantially longer than the code which does the same thing. Recursion vs. Looping. It's the core of CS.

But you would be the know-it-all side-line quarterback-jockey who knows the wonders of engineering and computer science. I BOW DOWN TO YOUR ALL-KNOWING BRAIN, MASTER!!!



Way to lay the smackdown - that's exactly what I was thinking. There is no black-and-white issue here.
 

kylebisme

Diamond Member
Mar 25, 2000
9,396
0
0
Originally posted by: BlvdKing
From what I have heard, the ATI team knew exactly what DX 9.0 would entail and designed their R300 GPU around those specifications. NVidia for some reason did not know the specs of DX 9.0 and had to guess, which is partially a reason for the inefficency in trasistor count.

Other than that, I don't know and would like to hear other theories. :beer:

lol, no nvidia was informed just as well as ati as to what the dx9 specs would be. the difference is nvidia figured they always set the specs as they had the best cards, and they would continue to do so by surpassing dx9 specs with 32bit floating point color and various other fancy features. granted, things didn't work out exactly like they planed, but that was the plan.
 

SickBeast

Lifer
Jul 21, 2000
14,377
19
81
Originally posted by: Pete
A. More hardware features (FP32, SM2.0+/SM3.0).
B. Different method of counting transistors (ATi: logic only, nV: logic + cache).

OK very interesing. Question then:

What would be the transistor count of the X800XT IF ATi used nVidia's method of counting the transistors?
 

zephyrprime

Diamond Member
Feb 18, 2001
7,512
2
81
nVidia - 32 bit precision.
nVidia - 33% more bits.
It is not that simple. Some instructions require exponentially more transistors for increasing bittiness.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
Originally posted by: zephyrprime
nVidia - 32 bit precision.
nVidia - 33% more bits.
It is not that simple. Some instructions require exponentially more transistors for increasing bittiness.

I was referring to an ATi comment made in the Techreport interview with David Nalasco.

TR: We've heard that the Radeon X800 is 160 million transistors and the GeForce 6800 is 222 million. Our own die size comparison showed about a 10% difference between the two chips. If one counted transistors by adding up all possible transistors on the chip like NVIDIA does, what would the X800's transistor count be?

Nalasco: One thing about counting transistors is that every time you see a transistor count on a chip, it's almost certainly a rough estimate. The reason is that there's no simple and straightforward way to just go and count all the transistors on a large ASIC. Usually, what you can at least get is a fairly accurate gate count. That can be generated by the tools when you're creating the chip. And from the gate count, you can make some assumptions to generate a reasonable estimate of the number of transistors by guessing at the number of transistors per gate. But of course, different gates in different places in the chip are going to use different numbers of transistors, and then there's the caches and things which have their own sort of unique counts of transistors. So what happens is that anything that you generate ends up being an estimate based on certain assumptions that you're making, and really, the transistor count figure is much less important than, as you mentioned, the actual die size that you end up with.

And as you did say, whatever the transistor figures that are being quoted might indicate, our die size is approximately ten to fifteen percent smaller, we believe, than the GeForce 6800 series. So when it comes down to it, we believe we've been able to achieve better performance, better image quality, with a smaller number of transistors, and that's really probably the most significant thing to take away from those marketing features.

TR: ATI chose not to support pixel shader precision above 24 bits per color channel in the X800 series. What were the tradeoffs you faced, and why did you make this choice?

Nalasco: This was something that came up, already, several years ago when DirectX 9 was being . . . the specifications were being put together. At that time, there was a lot of research going into what was sort of the ideal amount of precision you would need to render the quality effects that we were targeting. And obviously you have to take into account that the more complex, or the higher precision that you shoot for, the more complex the hardware as to get to support it, and there becomes diminishing returns. So after a great deal of research, the conclusion that was reached was that for the current generation of products?and this was going back to the Radeon 9700 series?that 24-bit precision was going to give us enough headroom, in terms of how we could improve the quality of graphics, to make it into a reasonable target.

One thing to consider when you're looking at these things is, you know, it might not sound like a huge difference between 24 bits or 32 bits, but what you're basically talking about is 33% more hardware that's required. You need 33% more transistors. Your data paths have to be 33% wider. Your registers have to be 33% wider. To put that into perspective, that's kind of equivalent to adding another four pipelines onto an X800 type of chip to support this additional precision. And then we have to make the choice of, "What kind of visual benefit is that going to provide? What kind of programming benefit is that going to provide?" and weigh that against improving performance.
 

merlocka

Platinum Member
Nov 24, 1999
2,832
0
0
ATI states NV40 is only 10-15% larger than X800.

NV40 supports 32bit, which according to ATI requires 33% more hardware.

So, doesn't that make NV40 look pretty efficient in comparison?
 

Acanthus

Lifer
Aug 28, 2001
19,915
2
76
ostif.org
Originally posted by: TheSnowman
Originally posted by: BlvdKing
From what I have heard, the ATI team knew exactly what DX 9.0 would entail and designed their R300 GPU around those specifications. NVidia for some reason did not know the specs of DX 9.0 and had to guess, which is partially a reason for the inefficency in trasistor count.

Other than that, I don't know and would like to hear other theories. :beer:

lol, no nvidia was informed just as well as ati as to what the dx9 specs would be. the difference is nvidia figured they always set the specs as they had the best cards, and they would continue to do so by surpassing dx9 specs with 32bit floating point color and various other fancy features. granted, things didn't work out exactly like they planed, but that was the plan.

Wrong, Nv left the DX9 forum with the xbox chip fiasco with MS. MS changed the spec from fp32 to fp24 at the last minute and NVIDIA was caught with their pants down because the chip was already beta.
 

Lonyo

Lifer
Aug 10, 2002
21,938
6
81
Originally posted by: merlocka
ATI states NV40 is only 10-15% larger than X800.

NV40 supports 32bit, which according to ATI requires 33% more hardware.

So, doesn't that make NV40 look pretty efficient in comparison?

Nalasco: One thing about counting transistors is that every time you see a transistor count on a chip, it's almost certainly a rough estimate

Also: A GPU is not just the pipelines, there are many more things, like nVidia's programmable video decoder/encoder, and ATi's additional features.
This take up space as well, which is why the space on nVidia's part isn't 33% greater.
 

kylebisme

Diamond Member
Mar 25, 2000
9,396
0
0
Originally posted by: Acanthus
Originally posted by: TheSnowman
Originally posted by: BlvdKing
From what I have heard, the ATI team knew exactly what DX 9.0 would entail and designed their R300 GPU around those specifications. NVidia for some reason did not know the specs of DX 9.0 and had to guess, which is partially a reason for the inefficency in trasistor count.

Other than that, I don't know and would like to hear other theories. :beer:

lol, no nvidia was informed just as well as ati as to what the dx9 specs would be. the difference is nvidia figured they always set the specs as they had the best cards, and they would continue to do so by surpassing dx9 specs with 32bit floating point color and various other fancy features. granted, things didn't work out exactly like they planed, but that was the plan.

Wrong, Nv left the DX9 forum with the xbox chip fiasco with MS. MS changed the spec from fp32 to fp24 at the last minute and NVIDIA was caught with their pants down because the chip was already beta.

lol, that is part of what i was talking about when i said "nvidia figured they always set the specs." considering the nv30 came out well over a year after dx9 spec was set i would hardly call that geting "caught with their pants down", more like they stood around with their pants down fondling themselves.
 

Pete

Diamond Member
Oct 10, 1999
4,953
0
0
What would be the transistor count of the X800XT IF ATi used nVidia's method of counting the transistors?
No idea. I've heard that ATi counts transistors differently than nV, but I've also heard Jen-Hsun Huang (nV's CEO) say that SM3.0 "cost" them "60M transistors." I don't know if he's just going from the public numbers of 222M for NV40 and 160M for R420, and I'm not sure if that confirms that both counts are using the same methodology. Given nV's apparent preoccupation with more = better, I can't tell if JHH thinks saying it cost them more transistors than it did is more impressive or not.

ATI states NV40 is only 10-15% larger than X800.

NV40 supports 32bit, which according to ATI requires 33% more hardware.

So, doesn't that make NV40 look pretty efficient in comparison?

In the sense that it uses less die space, yes. But what if R420 "spaces" its transistors out more, and thus achieves a greater yield? I'd consider that more efficient in an equally relevant (to their bottom line) way.
 

Xentropy

Senior member
Sep 6, 2002
294
0
0
Originally posted by: Pete
ATI states NV40 is only 10-15% larger than X800.

NV40 supports 32bit, which according to ATI requires 33% more hardware.

So, doesn't that make NV40 look pretty efficient in comparison?

In the sense that it uses less die space, yes. But what if R420 "spaces" its transistors out more, and thus achieves a greater yield? I'd consider that more efficient in an equally relevant (to their bottom line) way.

Er, how would spacing transistors out result in higher yields? Since defects are generally tracked by a "per square millimeter" value, spacing out transistors would LOWER yields since more chips would die (higher chance of a defect occuring within a larger die).

A greater die size w/ same transistor count would have some nominal beneifts (more surface area would be easier to cool, for instance), but such a design would lower yields, not to mention require more wafer starts in general (and thus higher cost) just for the same number of parts. Sorry, but smaller is better when it comes to die yields. That's one factor driving smaller transistor sizes (another being less heat generation per transistor). The more tightly packed the better.
 

stnicralisk

Golden Member
Jan 18, 2004
1,705
1
0
Originally posted by: Schadenfroh
why the hell would you need 32bit precision? do any games support it and what does it offer over the 24bit?

There is a whole shlew of games that are going to have ps3 support very soon. Farcry, Battle for middle earth, pirates, there is a list of about 20 that are going to have ps3 support that come out soon or will patch the support soon. Many effects for ps3 require 32bit precision.

Ps3 vs ps2 has been discussed numerous times. You should probably do a search.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: stnicralisk
Originally posted by: Schadenfroh
why the hell would you need 32bit precision? do any games support it and what does it offer over the 24bit?

There is a whole shlew of games that are going to have ps3 support very soon. Farcry, Battle for middle earth, pirates, there is a list of about 20 that are going to have ps3 support that come out soon or will patch the support soon. Many effects for ps3 require 32bit precision.

Many games will 'support' it; however, it's very hard to say how much it will differ from their PS2 support, or if it will offer any performance benefits. You can write a PS2.0 game, toss in one PS3.0 shader, and -- voila! A "PS3.0" game!

Also, I haven't seen ANY game developers out decrying 24-bit precision. There are probably *some* effects that require 32-bit (or look better with it), but most don't. 24-bit floating point is pretty damn precise already.

Ps3 vs ps2 has been discussed numerous times. You should probably do a search.

Agreed.
 

imported_obsidian

Senior member
May 4, 2004
438
0
0
Originally posted by: g3pro
Originally posted by: Rudee
Shoddy engineering. Same thing when it comes to software. You can have two different software programs which produce identical results, however, one software program can contain significantly more code. The software with more code is inefficient. We wouldn't need super fast hardware if developers wrote more efficient code.

Spoken like a true non-engineer. :roll:

STFU if you don't know what you are talking about. There are ALWAYS trade-offs in IC design.



The software with more code is inefficient.

Spoken like a true non-computer scientist. :roll:

Code can be extremely inefficient if the code is 2 lines. Code can be extremely efficient if the code is substantially longer than the code which does the same thing. Recursion vs. Looping. It's the core of CS.

But you would be the know-it-all side-line quarterback-jockey who knows the wonders of engineering and computer science. I BOW DOWN TO YOUR ALL-KNOWING BRAIN, MASTER!!!
Man, that was great. I'm no electrical engineer but I am a computer scientist and can tell you right now that sometimes the easiest ways to do things are often the least efficient. People please, don't try to comment on stuff like cpu design and programming unless you know what the hell you are talking about.