View Full Version : Will shaders ever become general purpose?
Techno+
27-Oct-2006, 18:00
hi,
i was wondering Will shaders ever become general purpose? , can they become something like SPE?
thanx
3dilettante
27-Oct-2006, 18:38
If they were general purpose, would we still call them shaders?
The name indicates they have a specific purpose.
They will always be called shaders, as a constant reminder of their roots and where they came from :wink:
Acert93
29-Oct-2006, 00:17
I think that is why we see ALU tossed around more. Shader ALUs are being used for physics and folding right now to one degree or another, so they already are being used outside their traditionally designed target. How broad will they get utilized down the road as they become more functional is a good question.
Techno+
29-Oct-2006, 17:54
as you all know, shader cores are simple cores, so i thought that future CPUs made up of simple cores (like cell)can have these simple cores as heavyweight shaders that can also do General Purpose, i.e single precision and double precsion in one core, provided that in the coming years their uses become broader and broader. In fact if you read the Cell explanation at some sites, they compare SPEs to vertex shader units.
3dilettante
30-Oct-2006, 01:47
(like cell)can have these simple cores as heavyweight shaders that can also do General Purpose, i.e single precision and double precsion in one core, provided that in the coming years their uses become broader and broader. In fact if you read the Cell explanation at some sites, they compare SPEs to vertex shader units.
Double and single precision floating point isn't what defines general purpose. It can't even be defined all that well, because everyone has their own definition.
I honestly don't think the SPEs are general enough to be called general purpose. They aren't application-specific, but they have a wide swath of things they aren't very good at, at least compared to what they are good at.
There are a lot of trade-offs involved to having something good at common integer workloads that are often very poor decisions for something focused on floating-point performance.
The best I can say about whether something is general purpose is to see what the designers imagined their chip would be used for.
JHoxley
31-Oct-2006, 21:42
I highly doubt they'll ever become general purpose (but that's a sufficiently vague term in my books) simply because part of the reason they're so damned good/powerful is because they are NOT general purpose - they're specialised :smile:
The application of GPU's to physics/folding etc... is more that people have realised such specialised technology/hardware doesn't just have to be graphics-specific, but it's not a big enough step to say they are (or will be) general purpose.
Cheers,
Jack
The question is why would you want them to become general-purpose? You have teh CPU for it, don't you?
Blazkowicz
03-Nov-2006, 14:49
They will always be called shaders, as a constant reminder of their roots and where they came from :wink:
but.. they are also called vertex programs and fragment programs :)
Well, I remember vaguely there being a frogger game made as a shader. Is that general enough for you? :)
I highly doubt they'll ever become general purpose (but that's a sufficiently vague term in my books) simply because part of the reason they're so damned good/powerful is because they are NOT general purpose - they're specialised :smile:
I agree. Specifically they are good because they pack a stunning amount of execution units into a small area.... - and keeps them all busy.
This is only possible because the amount of logic used for program control is vastly reduced compared to "normal" CPUs, and this, in turn, is only possible because there's a high correllation of data (accesses) and control (branches) between threads (shaders) in a cluster.
To reduce the penalty of branch divergence or to better support low latency random memory accesses, GPUs would lose the execution unit density that ultimately gives them the incredible bang/buck (bang/si mm^2) that they enjoy on the workloads they are designed to do today.
Cheers
Well, I remember vaguely there being a frogger game made as a shader. Is that general enough for you? :)
It's nice to be remembered. :) I should visit here more often.
IMO it all depends on how you look on it. My take is that shaders are by definition currently coupled to a graphics API, and therefore not general purpose. That isn't to say that the GPU pipelines aren't general purpose, just that they're presented in a way that isn't. Both ATI and NVIDIA have other APIs which provides more general purpose features, such as scattered memory writing (at least for ATI; I haven't see NVIDIA's API). I tend to put these under "general purpose", even though they're more limited than a CPU. I mean, you should be able to write a version of Ook! on them, if you want one definition of general purpose.
Lack of practical limits on program size and random data access into a virtual memory space is the line I draw in the sand.
Lack of practical limits on program size and random data access into a virtual memory space is the line I draw in the sand.
I can't see virtual memory as part of the definition of "general purpose". That'd rule out a lot of past CPUs (and current MCUs) as general purpose processors.
Program size is an issue, though I could also argue against that, to some extent, giving as examples the low end microcontrollers with very limited program memory, which I still consider general purpose. However, since D3D10 specifies that there's no shader code size limit, I suppose that in this is already not an issue.
However, since D3D10 specifies that there's no shader code size limit, I suppose that in this is already not an issue.AFAIK, G80 is limited to "millions" of instructions - if that is indeed correct, it would indicate something along the lines of an internal counter that's "only" 24-bits or some such. Nothing they couldn't fix in 5 minutes if they felt the GPGPU market warranted the extra 2.5 transistors ;)
Uttar
ET ... line, sand, mine.
LOL. Mines in the sand can be dangerous. :)
vBulletin® v3.8.6, Copyright ©2000-2013, Jelsoft Enterprises Ltd.