Are there diferant GPU Architexutres like the AMD vs Intel?

Fire_Zealot

Distinguished
Sep 22, 2006
188
0
18,680
Are there diferant GPU Architectures like the AMD vs Intel? I mean, I know some basics. I think that ATI is more focused on shaders, but thats about all I know. Are there any big diferances like AMD vs Intel?
 

VBDude

Distinguished
Nov 8, 2006
2,285
0
19,790
Are there diferant GPU Architectures like the AMD vs Intel?

Yes: nVidia vs. ATI vs. everybody else, and each has their own GPUs.

I mean, I know some basics. I think that ATI is more focused on shaders, but thats about all I know.

Um, where'd you get that? Shaders are a pretty primary focus of both (er, all) of them. Shader Model 4.0 and unified shader architectures are the big thrust of DX10 parts. nVidia even includes an additional physics shader function on top of the already standard pixel, vertex, and geometry shaders.

Are there any big diferances like AMD vs Intel?

Of course they have big differences, beyond having different card designs, thermal issues, and power requirements. They all have to conform to a DX9 (for backward compatibility) and DX10 (for next-gen apps) standard, but how they implement that standard sets them apart.

I already mentioned the physics shaders on the nVidia parts. They also have non-standard memory sizes and buses that have different widths even among similar products. We've seen differences in width between high-end and low-end cards in that past, but high-end and mid-high-end?

I don't have a clue what ATI has planned, but I bet they aren't planning to use what nVidia has, with the probable exception of physics. But at least they shouldn't be adding a new feature to DX10 and then making Microsoft make it a standard like they have before.
 

kamel5547

Distinguished
Jan 4, 2006
585
0
18,990
Yes.

There are even two different classs much like Opteron and Athlon, highe end (FireGL and Quadro) which is tuned for OpenGL used by business apps and low end (Radeon and GeForce) targetting the desktop.
 

cleeve

Illustrious
nVidia even includes an additional physics shader function on top of the already standard pixel, vertex, and geometry shaders.

Not quite true. The new 8800 (indeed, all upcoming Dx10 cards) has a unified shader architecture, where each shader can run either pixel or vertex calculations - or physics for that matter.

Both Ati and Nvidia have been working on Physics APIs for their existing cards, using pixel shaders I believe, so that's not a differentiator.

I think that ATI is more focused on shaders...

This is correct regarding the last gen... Ati has had a more brute force shader architecture when you look at the 7900 series (24 pixel shaders) vs the X1900 series (48 pixel shaders).

But the 8800 has over 100 unified shaders (called 'stream processors'), so they're the new shading champs, at least until the R600 comes out. It's rumored the R600 with it's 512 bit bus will best the 8800 but that remains to be seen.
 

VBDude

Distinguished
Nov 8, 2006
2,285
0
19,790
nVidia even includes an additional physics shader function on top of the already standard pixel, vertex, and geometry shaders.

Not quite true. The new 8800 (indeed, all upcoming Dx10 cards) has a unified shader architecture, where each shader can run either pixel or vertex calculations - or physics for that matter.

Both Ati and Nvidia have been working on Physics APIs for their cards, so that's not a differentiator.

You've confused me, Cleeve. From what I've read, pixel, vertex, and geometery shaders are DX10 standard, which is what I said. But nVidia's shaders also do physics, which is not DX10 standard. Am I wrong?

I don't have a clue what ATI has planned, but I bet they aren't planning to use what nVidia has, with the probable exception of physics.

I did note that ATI would likely use physics shaders as well in my post, but it's unclear if that is how they'll implement physics. Even if it is, it won' t be the same as nVidia, so their implementation will still be a differance, as I said.

They all have to conform to a DX9 (for backward compatibility) and DX10 (for next-gen apps) standard, but how they implement that standard sets them apart.

Granted, it's not a "big" differance, but am I wrong?

And the fellow is right aboiut the last gen anyway... Ati has had a more brute force shader architecture when you look at the 7900 series (24 pixel shaders) vs the X1900 series (48 pixel shaders).

I get what your saying here, but I read his post differently. As no one else had posted I didn't know how else to read it. From my reading, more shaders, or even "brute force shader achitecture", does not equate to "more focused on shaders." I hope I didn't confuse him as apparently I've confused you, but that's what I thought when I read the OP.
 

cleeve

Illustrious
You've confused me, Cleeve. From what I've read, pixel, vertex, and geometery shaders are DX10 standard, which is what I said. But nVidia's shaders also do physics, which is not DX10 standard. Am I wrong?

Wrong is a strong word, but you should do a bit more research. Pixel and Vertex (as well as physics) shader calls go to the same unified shaders in Dx10 cards. The new shader units in Dx10 cards are general purpose.

A unified shader unit can calculate whatever you throw at them as long as it's within their parameters. Actually, the same could be said of pixel shaders to a degree.

Pixel and Vertex shaders were separate hardware in Dx9 cards, but physics calculations were still run on them in demos, using the pixel shader units I believe.

In Dx10 cards those physics calculations will be made by the unified shaders, there was never any physics-specific hardware implemented that I've ever heard of. It's a physics-specific API using the existing unified shader power to implement physics, just like in Dx9 cards you can use pixel shaders to calculate physics.


I did note that ATI would likely use physics shaders as well in my post, but it's unclear if that is how they'll implement physics. Even if it is, it won' t be the same as nVidia, so their implementation will still be a differance, as I said.

Ati (who has teamed up with Havok for their API), Nvidia, and aegea are pushing their own separate APIs, but both Ati and Nvidia are using their cards in a similar fashon - graphics shaders used for physics calculations. Only Aegea has physics-specific hardware.

Hopefully physics support will become part of DirectX in the version after 10, so they won't compete anymore and it'll become standardized like graphics APIs have (like Direct3d in DirectX).

I get what your saying here, but I read his post differently. As no one else had posted I didn't know how else to read it. From my reading, more shaders, or even "brute force shader achitecture", does not equate to "more focused on shaders." I hope I didn't confuse him as apparently I've confused you, but that's what I thought when I read the OP.

Well, Ati was more focused on shaders, Nvidia was more focused on texture units. Their engineers basically said as much in interviews, as Ati chose to use a higher shader-to-TMU (texture unit) ratio than Nvidia. There's nothing wrong with either approach but they both have their strengths. In texture heavy games the 7900s will do a bit better, in shader heavy games the X1900 will do a bit better, on average.

Nvidia has come around though, and their 8800 is a very shader-oriented architecture.
But 7900 vs. X1900, the X1900s will have the advantage in shader-heavy apps.
 

Fire_Zealot

Distinguished
Sep 22, 2006
188
0
18,680
VBDude, you did technically not understand my statement. As Cleve pointed out, when I said more focused, what I ment was more shaders. But its no biggie, I was unclear and plus, I didnt know much more than that generalization...

Now, if it goes this way, do games utilize textures units or shaders more? Looking at Toms benchmarks, it seems that its texture units more.(not counting Black and White) I guess that point is mute though, as we have unified.

I suppose asking questions about ATI vs Nvidia unified would be pointless as the r600 isnt out yet, but still... I bet the r600 would be more effective, as with the Xenos, ATI has more experiance. Will the cards have problems with older games that were designed with pixel pipelines in mind?



by the way, when will we have 1028 bit? We've got 512 bit, and we've just hit 1 gig of vid memory so.........
 

cleeve

Illustrious
The newer the game engine, the more important shader power is.

As I said, the R600 is rumored to be more powerful than the G80, but as it's not even released yet... take it for what it is, a rumor.
But if you're upgrading specifically for Vista, Dx10 games like Crysis, then you're in no hurry anyway because they're not out yet. So waiting isn't a bad thing.

The new cards are all designed to be backwards compatible though, a DirectX 9 Vertex or Pixel shader call will be easily handled by the new general purpose shader units. So no problem there.
 

VBDude

Distinguished
Nov 8, 2006
2,285
0
19,790
Wrong is a strong word, but you should do a bit more research.

Ouch, Cleeve. That sounds like a soft way of saying I'm an idiot. :( I know you didn't intend it, but I take pride in my hardware and software knowledge (to the point of writing extremely lengthy replies :wink: ). I know I was jumpy in my statements and not entirely clear, but I've done a lot of research. I just never wrote about it, so I'm stumbling on words...and memory.

That said, I know, and have known that prior to DX10 all hardware with pixel and vertex shaders, with the exception of Xbox 360, had them as seperate, physical units. And I know that they do not need to have a unified shader architecture now to be DX10 compliant, but as nVidia and ATI are using unified shaders, we won't need to worry about that. (Before you ask, my source on that is Maximum PC. At the time they wrote the article it wasn't clear if G80 would use unified shaders and seemed unlikely from official nVidia statements.)

It appears I've used odd wording in a number of places, so I'll try to make this as clear as I can: Pixel, Vertex, and Geometery Shader duties are all handled by the Unified Shaders. (Geometery Shader instructions, which you keep missing, are a new standard in DX10, correct? :?: ) I know this and never said otherwise. Now this is what's confusing me:


In Dx10 cards those physics calculations will be made by the unified shaders, there was never any physics-specific hardware implemented that I've ever heard of. It's a physics-specific API using the existing unified shader power to implement physics, just like in Dx9 cards you can use pixel shaders to calculate physics.

Ati (who has teamed up with Havok for their API), Nvidia, and aegea are pushing their own separate APIs, but both Ati and Nvidia are using their cards in a similar fashon - graphics shaders used for physics calculations. Only Aegea has physics-specific hardware.

It appears you've reworded this since I went to lunch, but I'm still a bit confused. I've read repeatedly the term "physics shaders" and that to me means hardware implementation, not software implementation. (Remember, for clarity, when I say shaders, I'm talking about shader instructions passed to a unified shader, and not seperate hardware.) So from what I've read, the nVidia card's hardware is built specifically to handle physics as part of the unified shaders and not have it as a bonus implemented in software.

Now I know you'll have to use software to access it, as the DX10 API doesn't include direct physics calls to the GPU, but the hardware doesn't just handle it in a back door sort of way, as it did under DX9. It was built to take physics instructions. Am I wrong--oops, misinformed? (BTW, I can't recall my sources on this, which is pretty dangerous when making statements like this, but I'm sure you've read them as well. Though you've seen my success with assumptions. Do you have a link that clarifies this? :?: )

Hopefully physics support will become part of DirectX in the version after 10, so they won't compete anymore and it'll become standardized like graphics APIs have (like Direct3d in DirectX).

Boy, that would be nice as it would render the whole point of my previous comments useless...if there was actually an agreement on the implementation.

Also, I've seen this debated, but aren't ATI and nVidia both using Havok anyway? Or has nVidia written its own API for G80? :?:

Well, Ati was more focused on shaders, Nvidia was more focused on texture units. Their engineers basically said as much in interviews, as Ati chose to use a higher shader-to-TMU (texture unit) ratio than Nvidia. There's nothing wrong with either approach but they both have their strengths. In texture heavy games the 7900s will do a bit better, in shader heavy games the X1900 will do a bit better, on average.

Nvidia has come around though, and their 8800 is a very shader-oriented architecture.
But 7900 vs. X1900, the X1900s will have the advantage in shader-heavy apps.

I get that, and thanks for clarifying. It seems silly to me now, but I guess my whole initial post was about DX10 parts and I failed to notice Fire_Zealot never mentioned them. I guess everything in the present tense threw me off. :oops: Cleeve, I hope you can you see what I was saying in the original post without thinking about DX9 parts (which I didn't, since he said, "ATI is more focused on shaders") and knowing that every mention of shaders meant as part of a unified shader architecture? The only thing I'm unclear on is physics. If you've got more info, please supply a link. I'm sure more people than me would appreciate it.
 

VBDude

Distinguished
Nov 8, 2006
2,285
0
19,790
VBDude, you did technically not understand my statement. As Cleve pointed out, when I said more focused, what I ment was more shaders. But its no biggie, I was unclear and plus, I didnt know much more than that generalization...

Now, if it goes this way, do games utilize textures units or shaders more? Looking at Toms benchmarks, it seems that its texture units more.(not counting Black and White) I guess that point is mute though, as we have unified.

I suppose asking questions about ATI vs Nvidia unified would be pointless as the r600 isnt out yet, but still... I bet the r600 would be more effective, as with the Xenos, ATI has more experiance. Will the cards have problems with older games that were designed with pixel pipelines in mind?



by the way, when will we have 1028 bit? We've got 512 bit, and we've just hit 1 gig of vid memory so.........

No problem FZ. I assumed a lot from your post, so I deserved to be caught with my pants down. :oops: To tell you the truth, I was suprised you posted it as your other posts were more clear.

Cleeve's right, newer engines will be more shader dependent. Developers are starting to get the hang of it, so we'll see a higher need from sources other than id, Valve, and Crytek. :wink:

It's a lot like the battle of multi-core processors, as you seem to have pointed out. But in my mind, shaders are more important to developers than multi-cores as they care more about how their game looks than anything. It takes a while to adapt to coding standards, but everyones eager to change graphics.

I too would like to see what ATI's successor to the Xenos is.

As for 1024 bit... A year ago I'd say it'd take five years, but it seems it may be as soon as DX11 if nVidia keeps being weird.
 

cleeve

Illustrious
It appears you've reworded this since I went to lunch, but I'm still a bit confused. I've read repeatedly the term "physics shaders" and that to me means hardware implementation, not software implementation.

Not really. I can call a unified shader a pixel shader if it does a pixel calculation, and a vertex shader if it does a vertex calculation. Put simply, a shader unit is just a fancy name for a calculator. And you can calculate a range of things with it.

They ran physics simulations on X1900s and 7900 based cards. They simply used the pixel shaders to do Physics calculations, the same as they will on the Dx10 stuff.

Ati and Nvidia are keen on leveraging their existing architecture, so adding transistors on the die for physics-specific hardware wouild be costly and wouldn't make alot of sense at this point.

Have a look at the GPU architecture diagrams of the G80. There is no physics specific hardware in there - just shaders ("stream processors"), Texture units, and cache for the most part:

g80-logic-layout-big.jpg

streamingprocs.jpg



Now I know you'll have to use software to access it, as the DX10 API doesn't include direct physics calls to the GPU, but the hardware doesn't just handle it in a back door sort of way, as it did under DX9. It was built to take physics instructions. Am I wrong--oops, misinformed?

I think maybe you assumed physics specific hardware because Nvidia's marketing has pushed the physics idea. But if you look at ther documentation closely I don't think there's any suggestion of physics-only hardware.

Calculating physics on the video card is the same idea as when it was introduced: use existing shaders to calculate physics equasions.
Actually, there has been experimental software to use GPUs as general purpose coprocessors for a while in the scientific community. One of the strengths of modern GPUs is that they can calculate floating point much faster than modern CPUs, which makes them suit physics calculations just as they are.

It's much easier to make software to do this than to add transistors for specific physics hardware, that'd be the opposite direction they're going with shaders in the first place - to make them generalized, not specialized, and therefore they don't waste cycles while other types of calculations need to be done.

HERE! I just found some Nvidia presentation slides that shows what I'm talking about:

14.jpg


15.jpg


16.jpg


Heheh. All that typing and these three slides say it all. I wish I found them in the first place...

Also, I've seen this debated, but aren't ATI and nVidia both using Havok anyway? Or has nVidia written its own API for G80? :?:

Well, software Havok still works with all games, but Ati has partnered with Havok on an API for Radeons- I think called "HavokFX", but I'm not 100% on the name or specifics. I do know Aegea has their own API, and I think Nvidia's API is separate from the Havok/Ati offering.
 

VBDude

Distinguished
Nov 8, 2006
2,285
0
19,790
Wow, Cleeve, thanks for the reply. :D I think I get it now, and why I've been constantly confused by your comments. I may be thinking about DX10 all the time, but I haven't got my head out of DX9 yet. :?

I can call a unified shader a pixel shader if it does a pixel calculation, and a vertex shader if it does a vertex calculation. Put simply, a shader unit is just a fancy name for a calculator.

I like your last picture the most. (I knew geometery was new! :wink: ) So this whole time, I've been thinking in the wrong direction. I've been thinking about a chip designed for pixel calculations, then vertex, then geometery, then physics, then whatever. And what I should have been thinking is general purpose floating point processor that can handle pixel, vertex, geometery, physics, etc. calculations with ease. So the term ______ shader is functionally obsolete under a unified shader (calculator/processor) architecture.

Thanks for bringing me to modern times and terms. 8)

I've known about using DX9 shaders for physics and as advanced calculators for science projects (@Home projects, etc.), but it always seemed to me that their developers were doing a hack job to get it to work. I didn't know the shader units were so generalized. It's hard to change my thinking since graphics cards were built to handle graphics duties for so long.

I've only been back from a two years "break" from technology for a year now and I'm still catching up. (I was a MCP in VB before that, hence the name. Just try jumping back into development after a two year break. They've released two new versions of Visual Studio since then and I never even had VS.Net!) I didn't anticipate the change because I thought past experience in graphics technology was something I could rely on. :oops: Well, at least other technologies haven't changed as fast as GPUs, or maybe I'll have another couple of shocks to my system. 8O

Don't worry about all the typing. Sure it was a graphic that did it, but re-reading your post certainly solidified my understanding. Thanks for your patience.
 

cleeve

Illustrious
Don't worry about all the typing. Sure it was a graphic that did it, but re-reading your post certainly solidified my understanding. Thanks for your patience.

My pleasure. These are the types of forum discussions that are really worthwhile, more interesting and rewarding than trying to convince somebody that, say, an X800 GTO is better than a 6800 XT. :)
 

nottheking

Distinguished
Jan 5, 2006
1,456
0
19,310
Allow me to try to toss my voice into the pile...

As for the question of arcitecture, there really wasn't much actual difference; Direct3D mandates that GPU makers fit within some pretty strict guidelines; D3D10 is even MORE strict than previous ones.

However, they all left some wiggle room for different GPU makers to determine how to squeeze the most out of their silicon. This was represented pretty well in different GPUs taking different unit-balances. (balance between TMUS, shaders, ROPs, and even RAM controllers) For quite a long time, it's been ATi being more focused on shaders, and nVidia focused on textures; this manifested from as far back as 2002, where the NV25 (GeForce 4 Ti) had 4 pixel shaders, 8 TMUs, compared to the R300 (Radeon 9700pro) which had 8 of both. In more recent times, it was a comparison between R580 (Radeon X1900) and G71. (GeForce 79x0) However, nVidia's followed the more shader-heavy approach with the G80; 128 stream processors is vastly more than the shader capacity the G70/71 had, which amounted to more like 48. Plus, the shaders are clocked insanely fast, at 1.35GHz

Fortunately, games are moving more and more toward being shader-heavy, so this change is a good thing; the most advanced title out there, STILL, is The Elder Scrolls IV: Oblivion, and the shader load it brings easily dwarfs the texture load. (and the TEXTURE load is still pretty heavy) I think it may not be until Crysis that we see a more advanced game.

Fortunately, shaders can be used for other things. I'm not sure when someone figured it out, but the way pixel shaders work... They apply a code to a PIXEL. In graphics hardware terms, what is a pixel? It's really just an address in memory; the pixel shader applies the code, and the ROP writes it to memory.

At any rate, it probably didn't take programmers long to figure out that if you ignore the fact that the card was INTENDED for graphics, they've just put what is pretty much a fully-functional "supercomputer-on-a-chip" device into their GPUs. No real hacking is needed; you just need to write the "pixel shader" programs to do the non-graphics task you wanted, and "pretend" that each pixel is really a number instead. Not all that hard, since, being a computer, after all, all we've been doing is pretending the opposite; that those numbers are parts of an image. :p

And on R600... I've heard rumors, nothing more. Some are pretty out there; if I were to believe some of them, it will come with a 512-bit memory interface, twice the shader-per-clock count of G80, have 1GB of GDDR4 clocked at 2.7GHz, and be based on the 80nm process. Pretty much all but the very last (ATi's already selling 80nm parts, such as the X1950pro and X1650XT) of those are a little dubious to me.
 

4745454b

Titan
Moderator
Let me try to ask/make a new point.

When I first read the title, I was thinking about the differences in the Athlon and P4. One has a nice short pipeline with in IMC, while the other had a long pipeline and tons of cache to overcome the lack of IMC. I was thinking the OP might have been asking about difference like this. To be 100% honest, I don't know enough about the insides of either ATI or Nvidia GPUs to answer the question. I do believe there are many differences at this level. This is based on the fact that some games, or types of games run better on one hardware or the other. Much of this might be due to drivers, as ATI cards have made terrific gains in OpenGL games. But I believe that due to differences in at the chip level, some games/render paths support certain hardware better.

Is this closer to what the OP was wondering about? Am I completely off my rocker and this is simply a driver issue? I do know the megahertz myth. Clock speed is a useful comparision tool only when dealing with identical cores. Seeing as ATI and Nvidia use different cores, who cares if one is clocked at 600MHz and the other is clocked at 575MHz. The 575MHz clocked chip could still be faster.