David Kirk interview

Vince said:
It defies basic mentality and (AFAIK) isn't an IEEE standard like FP16 or FP32. Why couldn't they just support industry standards like FP32 instead?
IIRC IEEE754 defines two precisions, single (32bit) and double (64bit). So I wouldn't consider fp16 an industry standard.
Of course, all cpus support IEEE754 (because it's the ieee standard) - however, if you move outside cpus, for instance DSPs (which would be a better comparison to graphic chips) often use other precisions.
 
mczak said:
IIRC IEEE754 defines two precisions, single (32bit) and double (64bit). So I wouldn't consider fp16 an industry standard.
Of course, all cpus support IEEE754 (because it's the ieee standard) - however, if you move outside cpus, for instance DSPs (which would be a better comparison to graphic chips) often use other precisions.

Exactly, if you're in the buisness of producing high-end graphic ICs - wouldn't commonality with the CPUs that power renderfarms be an obvious evolutionary step up the precision ladder instead of this discrete and isolated stepping?

You know, 3dfx calculated 32-bit internally and output 22-bit too ;) (just joking)

Also, I think IEEE754-1985 made note of a few other lower precisions. Not sure though, you could be right about FP16.
 
FP32 might be good for a renderfarm replacement, but (judging from examples so far) FP24 is the best you can do with today's silicon at reasonable speeds. Since FP24 is 'good enough' for games (as opposed to renderfarm replacement) I can see why Microsoft picked it.
 
Vince said:
Exactly, if you're in the buisness of producing high-end graphic ICs - wouldn't commonality with the CPUs that power renderfarms be an obvious evolutionary step up the precision ladder instead of this discrete and isolated stepping?

Not if you're exhibiting the kind of 32 bit perfomance that Nvidia is showing. The requirements for real-time gaming are quite different than for offline, non-realtime distributed rendering. Why would former takes it's lead from the latter?

Nvidia has proved that to do so is currently a really bad idea for a single chip design on current fabrication processes because you just can't reach gaming speeds with 32 bit - making it completely useless for the gaming market that needs to be addressed.
 
I found it amusing how he talks about non power of two number formats as odd.

What about 12 and 10 bit fixed point? Its not like nVidia has never used anything but power of two number formats before.

FP24 does make some sense. Unlike FP16 it is better than fixed point 12 bit in every way, and thus it makes sense to have an all Floating Point, single internal format (minimum) shading language that is in every way superior to its predecessors.
 
Vince said:
Unless I was the only one who was thinking, "WTF... FP24?!" when it was announced. But, that's a story for another day.

Likely not, and it certainly seemed strange to me at first, but then the tech industry has any number of instances where they go "off" from powers of two for one reason or another. I'd assume it mainly comes right now from FP16 not being complex enough, but FP32 being too overly burdensome for not as many advantages over FP24. (Which right now seems to be the case. Enough people gripe over the "unnoticable" differences between DX9 and DX8.1 right now as it is.) From MS's personal angle, it may also stem from them wanting to make sure cards all the way down the scale to the extreme value end can handle things will enough for Longhorn, since it's rolling DX9 in as a minimum. (Intel may also have lent weight there as well since they make a ton of integrated graphics, but don't need them overly complex and either raising costs or lowering profit.)
 
My read on this PR article, remember DK has always been adroit at answering hard questions in a way that sound credible and paint NVidia in the best possible light.

DK - We only developed Cg to help people and we were innovators before Microsft came on board. Philanthraphy - not trying to create a monopoly at all - never - there are simply places Microsoft don't go that should be given our support. Beautiful wordsmithing to avoid a shitstorm, but not the full story by a long shot!

FiringSquad: Could you give us some specific examples of the Detonator 50 drivers and where you guys think you can improve your performance and where you were inefficient before with Detonator 40 series and how you feel Detonator 50 is shaping up?

Kirk - No - motherhood response with no content - we need better optmisers. Why - fewer image quality cheats can get by in today's environment - reality - our optimiser fix one flaw by exposing another - we shift workloads to maximise throughput at the expense of temporary register usages - and we don't have enough temporary registers to avoid pipeline stalls - espeically when using fp32.

FS - What about Tomb Raider 4 and HL2
DK - Its not a good idea to answer your question truthfully so I'll avoid it

FS - What about fp24 vs 32
DK - Well is an odd power of 2 and its not enough were you need it.

Oh please, and FX12 is a power of 2? And Microsoft and ATi believe fp24 is a great resolution - and he complains about vertex shader accuracy - oh for pete sake - ATi is fully fp32 in the vertex shaders and NVidia performance halves when you use fp32 in the pixel shaders where all the action will be happening in the future.

DK comments on folk who haven't seen NVidia's products or how to optimise for them is simply ludricous - hello game developers who don't know what NVidia or NV3x are - on what planet Dave? Optimsing for one vendor - no - optimising for the DX9 standard mate - you're hurting course you stepped away from it. REality check, not eveyone has 6 months of developer time just to code proprietary paths for NVidia that lower Image Quality and still don't perform well.

DK - folk are commenting on our architecture without knowledge - Irony - sweet irony - you kept it so hidden cause its a bit of a shambles in places but folk have started to worked it out - esp alot of the uber minds here!

FS Will HL2 be fixed in software?
DK Of course, it just needs more optimisation!

There you go folks one last ditch push - the real reason Half Life 2 is delayed - wonder how many millions this concession cost NVidia?
 
g__day said:
Philanthraphy - not trying to create a monopoly at all - never - there are simply places Microsoft don't go that should be given our support.

A.k.a. Linux and MAC :)
 
Vince said:
FUDie said:
What's "unpredictable" about FP24? Is it inheriently chaotic?

If I could hazard a guess, I'd say exactly what he said. FP24 is found nowhere in the professional graphic/visualization industry, nor in the hardware computing realm.

It defies basic mentality and (AFAIK) isn't an IEEE standard like FP16 or FP32. Why couldn't they just support industry standards like FP32 instead?
Not at all. It's just a matter of balancing the cost of your system against functionality.

As we've said before, the cost of multipliers in hardware is probably ~O(n^2)** in terms of gates and so going from a 24bit float (with (I'm guessing) ~16bit mantissa) to a 32bit float (~24 bit mantissa) could be an increase in gates of around 125%.

If you really don't need that extra precision (and with a ~16 bit mantissa you're getting 1 part in 2^16) why pay for it?


**This is just a simple guess - it may be that an O(n log(n)) approach is used but this ignores multiplicative constants and the lower order terms which may be dominant with small "n" <shrug>
 
Vince said:
It defies basic mentality and (AFAIK) isn't an IEEE standard like FP16 or FP32. Why couldn't they just support industry standards like FP32 instead?

There is no IEEE standard for FP16 and while there is a IEEE standard for FP32 not all FP32 implementation lives up to the IEEE standard the nVidia FP32 does AFAIK not.

I don't even think that IEEE is a good idea for pixel shaders (at least not yet) to be IEEE compliant you have to comply with a number of restrictions this could make it more difficult to make high performance compilers etc.
 
Why do some of you say FP24 is incompatible with FP32?

In fact, ATI always writes to a FP32 buffer, in FP32 format. The only problem is that they knock off 1 bit from the exponent and 7 bits from the mantissa during calculations, and that's all. I seriously doubt any significant number of people will be doing such precision critical calculations that need to be read back to the CPU in this hardware generation.

FP24 was a good choice that gets the best of both worlds. Far fewer transitors, format compatible with FP32, and plenty of precision for nearly anything you'd want to do in the pixel shader. Now, for VS 3.0, where you can get textures into the vertex shader, the full 32-bit precision will likely be more than a luxury. However, that's not available now, so there's no worries.
 
Mintmaster said:
Now, for VS 3.0, where you can get textures into the vertex shader, the full 32-bit precision will likely be more than a luxury. However, that's not available now, so there's no worries.
IIRC, I think the VS has always had to have IEEE-ish float accuracy, it's the PS which has had the lower precisions.
 
Mintmaster said:
Now, for VS 3.0, where you can get textures into the vertex shader, the full 32-bit precision will likely be more than a luxury. However, that's not available now, so there's no worries.

My question is then, will FP32 be an absolute requirement for PS 3.0 ?
 
Simon F said:
Mintmaster said:
Now, for VS 3.0, where you can get textures into the vertex shader, the full 32-bit precision will likely be more than a luxury. However, that's not available now, so there's no worries.
IIRC, I think the VS has always had to have IEEE-ish float accuracy, it's the PS which has had the lower precisions.

You're totally right, the VS does do 32-bit processing right now. What I meant was that you'd probably want full 32-bit precision in those textures that get read in the vertex shader, and thus you need 32-bit precision out of the pixel shaders that create those textures. 24-bit might be fine much of the time, but I could clearly see 32-bit being necessary sometimes.

David Kirk was sort of right in saying 32-bit is not enough for geometry, but we're talking about pixel shaders, so his point is entirely irrelevant! The only time pixel shader precision will impact geometry is in VS 3.0, which the current generation can't do anyway.

overclocked, this is the type of PR-shit that we're talking about. Barely any of his points hold any water to anyone who knows shaders, does game development, etc. It's quite appalling (but not surprising I guess) how little truth there is in that interview.
 
Mintmaster said:
Simon F said:
Mintmaster said:
Now, for VS 3.0, where you can get textures into the vertex shader, the full 32-bit precision will likely be more than a luxury. However, that's not available now, so there's no worries.
IIRC, I think the VS has always had to have IEEE-ish float accuracy, it's the PS which has had the lower precisions.

You're totally right, the VS does do 32-bit processing right now. What I meant was that you'd probably want full 32-bit precision in those textures that get read in the vertex shader, and thus you need 32-bit precision out of the pixel shaders that create those textures. 24-bit might be fine much of the time, but I could clearly see 32-bit being necessary sometimes.

David Kirk was sort of right in saying 32-bit is not enough for geometry, but we're talking about pixel shaders, so his point is entirely irrelevant! The only time pixel shader precision will impact geometry is in VS 3.0, which the current generation can't do anyway.

But the NV40 will, as all indication seems to point to.
 
Back
Top