|
![](/i/fill.gif) |
>> I was under the impression that all cores in the bunch would have to
>> take the same branch of the if - you can't have half go one way and
>> half go the other. (That's what makes it a SIMD architecture.)
>
> In fact, I think NVidia does allow alternate code paths - but the unit
> executes both code paths, and then discards the one you don't need.
That also seems plausible. (I'd think sorting the data into two seperate
queues would be more efficient. But obviously I haven't measured it...)
>> Again, depends on whether you're writing a shader, or using a GPGPU
>> system.
>
> Same thing nowadays, its just the shaders are written in a dialect of C
> that's more capable than the ones used for graphics.
More like, if you use GPGPU, you don't have to pretend that your program
is a "shader" that takes "pixels" and generates other "pixels". You can
structure it more freely.
>> But they don't allow recursion. That's the issue.
>
> To be precise, they don't allow indefinite recursion. You can actually
> have recursion where you specify the number of levels at compile time.
> After that, however, you can't change it without compiling a new shader.
In other words, the compiler can unroll the loops for you. ;-)
>> Do you know how hard it is to draw a cube made of 8 cubes and measure
>> all their sides? Do you know how long it takes to expand (x+y)^9
>> manually, by hand? Do you have any idea how long it takes to figure
>> out what the pattern is and where it's coming from?
>>
>> ...and then I discover some entry-level textbook that tells me how
>> some dead guy already figured all this out several centuries ago. AND
>> FOR ARBITRARY EXPONENTS!! >_<
>
> Isn't that what Pascal's triangle is for?
Yes, I realise that *now*. :-P
>> Why do I bother?
>
> Be honest, it's because you enjoy it :)
Partly. But also because I keep hoping somebody will be impressed.
(Stupid, I know...)
Post a reply to this message
|
![](/i/fill.gif) |