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

Attachment: 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)

Reply via email to