Dedicated Shaders vs. Hybrid Shaders: Question

How many ops per clock can a traditional pixel shader do versus a hybrid shader? Is it true that hybrid shaders can only do one op per clock cycle while traditional (dedicated) shaders can do two ops per clock?

Shouldn't it be the other way around?
 
I think it is completely up to implementation, and doesn't have anything to do with whether they are unified or dedicated.

I imagine you're talking about Xenos vs RSX... In which case, yes, RSX's 24 PS should be able to do 2 ops per clock while Xenos' 48 US should be able to do 1, iirc -- someone correct me if I'm wrong, I haven't paid all that much attention to the details.
 
Bobbler said:
I think it is completely up to implementation, and doesn't have anything to do with whether they are unified or dedicated.

I imagine you're talking about Xenos vs RSX... In which case, yes, RSX's 24 PS should be able to do 2 ops per clock while Xenos' 48 US should be able to do 1, iirc -- someone correct me if I'm wrong, I haven't paid all that much attention to the details.

I remember reading that as well. The confusion comes in because I thought that unified shaders were more complex since they can do both pixel and vertex ops and therefore should be able to do one of each per clock, but that doesn't seem to be the case. It seems that the unified shaders are the ones that are simpler in design and thus can only do one op per cycle, while the dedicated shaders can do two.

But the advantage in having hybrid shaders is that their simpler and thus more can be packed on the die.
 
Alpha_Spartan said:
I remember reading that as well. The confusion comes in because I thought that unified shaders were more complex since they can do both pixel and vertex ops and therefore should be able to do one of each per clock, but that doesn't seem to be the case. It seems that the unified shaders are the ones that are simpler in design and thus can only do one op per cycle, while the dedicated shaders can do two.

But the advantage in having hybrid shaders is that their simpler and thus more can be packed on the die.

It's purely a design decision, you could build unified shaders that do lots of ops/clock or none unified ones that do 1.

There is some reason to reduce the complexity of unified shaders, since it reduces the granularity at which you commit resources to a task, but it's not required.

The ide of the unified thing is it adds complexity, but means that ALU's will be idle less often, and if you have orthogonal requirements between vertex and pixel shaders then whay not use the same units. A vertex shader on a unified architecture can do anything the pixel shader can and vice versa. So for example vertex texturing is cheap in all unified designs, and not necessarilly so in none unified designs.
 
Alpha_Spartan said:
It seems that the unified shaders are the ones that are simpler in design and thus can only do one op per cycle, while the dedicated shaders can do two.

But the advantage in having hybrid shaders is that their simpler and thus more can be packed on the die.
No. You're way off the mark. The ability to process vertex and pixel shaders doesn't mean an ability to do that simultaneously. A (single core) CPU can calculate 3D graphics and audio, but that doesn't mean it can do them both at the same time. The US architecture allows a processing unit to process a vertex or pixel shader op per cycle. Non-unifed means the pipe processes either a vertex or pixel shader op, but can only process those. The advantage of US is that the hardware can adapt to the workload, so there's less chance of part of the graphics rendering hardware sitting idle as it awaits vertex or pixel work to finish. There's no particular reason why you couldn't double up processing for dual issue on unified shaders, except that you'd be reducing granularity and negating much of the advantage of being able to swap roles.
 
Back
Top