Boost logo

Boost :

Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: Joel.Falcou_at_[hidden]
Date: 2010-10-12 01:57:34


> Even a "good" vectorizing C++ compiler is pretty bad, practically
> worthless, and while research continues apace, the practical implications
> of the state of the art hasn't really changed for decades. The simple
> fact is that most of the time the compiler just can't make enough useful
> assumptions about general C code to vectorize it safely. People write SSE
> code by hand in assembly (calling intrisics is writing assembly by hand,
> but more verbose) or accept the scalar code the compiler generates.

Agreed

> Fortran is a different story, it is a language designed to make life easy
> for the compiler. The compiler can hardly fail to vectorize fortran code,
> but other than calling fortran libraries from C interfaces that doesn't
> help us much. If you just defined an object model that faithfully
> duplicates semantics of fortran and let people program that in C++ you
> could auto-vectorize it in the C++ compiler if it became part of the
> standard, but that would take years and cost millions of lives

Agreed

>, its much easier to do it with a JIT runtime environment in a library.
> Since we already have the compiler technology for languages that allow it
> to work well it seems best to implement such a language as a DSEL that
> allows us to use that compiler technology from C++ rather than try to
> implement a vector compiler in a template metaprogram or keep beating our
> heads against the vectorizing general C code brick wall. JIT runtime is
> an end run around standardization and is kind of like going through
> Belgium to invade France. You get to Paris without all the fuss.

I have rouble seeing how JIT and High Performance or JIT and EMbedded
platform can be usable together, hence our static solution. I urge people
to get a look at our boost'con slides. We are not speaking in the air, we
already have working proof of concept and even more than that.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk