Subject: Re: [boost] Accelerating algorithms with SIMD - Segmented iterators and alternatives
From: joel falcou (joel.falcou_at_[hidden])
Date: 2010-10-12 14:57:45
On 12/10/10 20:41, Simonson, Lucanus J wrote:
> If the dynamically generated code makes use of new hardware features not available at the time the original code was compiled....
Well, recompilign xost you so much ?
> If the dynamically generated code is better than the statically generated code because it has better algorithms for optimizing vector instructions...
Care to elaborate ?
> If the compile time is negligable compared the the runtime of the resulting code...
I ask some example, this seems more than fuzzy
> If the dynamically generated code offloads work to the GPU through shared L3 cache...
We can do that
> If the dynamically generated code mutlithreads in addition to vectorizing the code and dynamically schedules it to all available cores...
We do this already and no need for JITing this, runtiem scheduler is enough
> It doesn't make sense for vector intrinsics compiled by C++ compiler to outperform fortran compiled to vector instructions by the fortran compiler. I know perfectly well that it is the same back end compiler, but the difference is that with C++ the compiler can't know which optimizations are safe that the fortran compiler can easily make. As long as the embedded langauge allows the compiler to make the assumptions needed to enable optimizations that the C++ compiler can't then the code it generates will outperform the C++ compiler even if it's the exact same backend compiler being used. There is practically no way you can tell the C++ compiler which assumptions are safe, there just aren't sufficient pragmas and flags for that and even if there were they wouldn't be portable.
Then you miss th epoint of what we are trying to do. We don't and never
claimed to vectorize ANY random C++ code but instrumented code of ours.
And in this case, we know we can because of the fact WE control everything.
I guess blaming the poster was so much more fun than actually requesting
And all in all, I guess the fact than tryign to get innovation on this
in a OS project is useless too ...