Hi, Nicolas Boulay: >2009/9/23 Hugh Fisher <[email protected]>: >> Andre Pouliot wrote: >>> >>> Yes all the vector ops will be emitted as scalar ops. The program do get >>> longer but scalar ops can be made shorter since we have less instruction >>> to >>> support. >> >> SIMD instructions are the same length as scalar instructions on any >> sensible CPU: see MIPS and PowerPC. Four scalar MADD instructions >> are going to be four times longer than the equivalent vector MADD. >> >> (Uh, you *are* intending to use fixed length instructions, right? >> Please tell me you're not thinking of variable length opcodes?) >> > >Personnaly LIW is what i prefer : exposed every unit of the shader in >the instruction word. Then it became a software challenge to optimise >them.
I'm unsure if LIW is the good option for this architecture. This due to the fact that Andre mentioned earlier, we have a lot of threads that needs to to execute the same instruction over data in close spatial locality. Hence, there is really no use in having fine grained control over the different units in a single shader, since in most cases they are going to execute the same instruction anyways. Thus, including LIW will only increase the complexity of the hardware, without providing any substantial gains. > >One other solution is having word aligned instructions. So you could >have 32, 64, 128 bits instructions size. Before we decide on the length of the instruction, it would be fun to further investigate some stuff from real life. And this is where we can benefit from some of the software dudes out there. I would like to see how big the average shader code is, compared to the available memory we have on the underlying technology. Cause due to my initial calculations here, if we assume 32'000 instructions in a kernel( Which from what I have seen is a lot ), we use about 250KB [1] to store it using 64 bit instruction words. That also leaves us with a lot of flexibility in the instruction word, and the decoding should really not be that hard either. However, depending on the underlying technology, 250KB might be a lot of RAM. [1] ( 32000 * 8 ) / 1024 -- 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)
