Why not have 1 copy of the pixel shader operating on 8 different pixels? like SIMD. What's the rationale behind using so many processors if they are all running the same code?
Originally Posted by bridgman
For those interested in bridgmans posts about the hardware, I highly recommend the articles anandtech wrote for the GT200/RV770 launches.
Yes, they support more than 1000 threads.
It's very interesting to see the different approaches ATI and NVidia took. NVidia went with very simple SPs, which are all capable of doing all operations, while ATI went with more complex ones which can run multiple instructions at once - with the tradeoff being that the instructions have to be a certain mix which means the compiler has to be very smart about how to use the resources.
AFAIK we have used SIMDs for pixel shaders right back to the R300. Not sure if the vertex shaders were SIMD or not. An RV770 has 10 SIMD blocks, with a single program counter per SIMD. Each SIMD block runs the same superscalar instruction on 16 threads, and each instruction can perform up to 5 floating point operations per clock.
Originally Posted by monraaf
Other GPU vendors use SIMDs in a similar fashion, but without the superscalar instructions.We have multiple SIMDs because even for a single task you need some granularity to handle the mix of vertex, geometry and pixel shader processing.
Last edited by bridgman; 02-01-2009 at 11:27 PM.
Tags for this Thread