Hugh Fisher: > Timothy Normand Miller wrote: >> One of the design details that seems to be hard to present is the MIMD >> architecture. At first glance, it looks like a SIMD architecture. >> But all of you are right to point out that shader workloads are >> primarily scalar. > > I'd like to see some evidence for this. > 80% of the instructions are vector, only 20% scalar. The ratio of > scalar instructions increases very slightly with the more complex > shaders to perhaps 25%. The single most common instruction is DP, > Dot Product, of three or four operands from a vertex/color/matrix.
If you read through some of the original G80 architectural whitepapers from Nvidia, you can find that they mention that they have found enough scalar instructions in shaders to warrant a change from pure vector processors to scalar ones. Although, this is just an feature set of the underlying architecture. The programmer will still operate on with his vector instructions in his language of choice, and the compiler will just translate them into multiple scalar instructions. Furthermore, a scalar processor will increase the throughput of the GPU, which is our main concern. In a GPU, single thread performance is really not that important compared to the overall performance. Hence, with a scalar design we can fully utilize the amount cores even in the 25% of the code where we have scalar instructions. The other option would be to work some magic trying to fuse threads into vector ops. when we see multiple scalar instructions, but this seems overly complex. Regards, Kenneth -- Life on the earth might be expensive, but it includes an annual free trip around the sun. Kenneth Østby http://langly.org
signature.asc
Description: Digital signature
_______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
