Author's Blogs

SIMD tuning with ASM pt. 4 - Vectorization & ICC
By Matt Walsh Posted on 06/05/12 4
If you remember from my first post I presented a program. Stripping out the setup, the part we care about - the part that does the work - is this: float x[PTS], float y[PTS]; for (int i = 0; i < PTS; i++) { // line 13 in orig source x[i] += y[i]; ...
SIMD tuning with ASM pt. 3 - PS good, SS bad
By Matt Walsh Posted on 05/31/12 4
If you recall where we left off on my post yesterday we compiled a test program with gcc and saw this code for the 'working' part of a loop. (Yes, I will be getting to the Intel C++ compiler next post, but I'll stick with what I've got so far just so we can take baby steps). .LBB52: .l...
SIMD tuning with ASM pt. 2 - Your First Dump
By Matt Walsh Posted on 05/30/12 6
(here's part 1 in case you missed it) Let's take a really, really simple program. It just adds one array of things to another. This should be a SIMD slam dunk! I will call this program blah.cpp #include #define PTS 1000 int main() { float x[PTS]; float y[PTS]; for (int i = 0; i < PT...
SIMD tuning with ASM pt. 1 - Stars & Constellations
By Matt Walsh Posted on 04/24/12 2
ASM? You mean assembly language? I haven't looked at that since my senior project! How arcane! And compilers are so smart anymore, why should I care? I used to feel the same way...albeit with a latent desire to learn it as I wish I knew Latin. Then one day I found myself out of options on my SIMD...