pouët.net

vc express 2010

category: code [glöplog]
Well a problem that remains with this shit is that different architectures handle their SIMD instruction sets differently. For example, on X86, if in the middle of random operations (integer, calls, some scalar float stuff) you'd call 1 function to do 1 highly optimized vectorized calculation you're likely to lose performance over the ref. C implementation (though I must admit I tested this 2 years ago). Batch processing on the other hand is a big win, so the CPU is/was apparently making some kind of switch in the microcode layer.

This theory was also reflected in the Doom3 SDK -- you can see that Carmack has all his standard math just in plain C/C++, and has a "SIMDProcessor" class (with derivatives for different types of support, SSE2, SSE3, AltiVec et cetera) to handle batch processing of different kind of 3D and signal transforms.

But yeah some day it should just be a standard feature in the language that you can use regardless of architecture. But if that would rid you of stlll having to keep a tight eye on what the CPU likes and dislikes and the code the compiler generates is a different story..
added on the 2010-02-22 01:09:59 by superplek superplek
iq: I notice you forgot to mention vs2002 and vs2003 :)
added on the 2010-02-22 01:20:40 by pan pan
Speed Oma,

I doubt that we will ever see more or better support for SIMD. To illustrate my argument I just did a quick check on the StackOverflow.com (a large and popular programming QA website):

3 questions tagged as MMX
37 questions tagged as SSE
5 questions tagged as NEON
27 questins tagged as SIMD
3 questions tagged as Altivec

That makes 75 questions out of over half a million questions in total, or 0.015%

There is almost no interest in SIMD in the IT industry. Sad but true.
added on the 2010-02-22 04:26:04 by torus torus
Torus, or Nils if I may call you that (since we're practically namesakes, I'm Niels), you are right. I am often too biased on what I want/need in my own limited scope of programming.
added on the 2010-02-22 05:01:03 by superplek superplek
(that is if my recollection of Cubic & $een infofiles is still stored correctly in my brain, and then there was that radix sort tutorial I read years ago)
added on the 2010-02-22 05:03:33 by superplek superplek
plek, i totally agree on the code warrior ide. i have no idea on how someone is able to sell such a shitty product.

login