Update on 64-bit support for vectorizing loops: The support just went into the Github sources. See https://github.com/JuliaLang/julia/pull/8452 . Though for 3D vectors, those are in need of "tuple vectorization". See https://github.com/JuliaLang/julia/pull/6271 for the prototype. Unfortunately the prototyped slowed down compilation too much to be enabled by default. But it's possible we might evolve a way to turn it on for specially marked regions of code, or speed up how fast it can reject uninteresting code.
On Wednesday, September 17, 2014 10:10:56 AM UTC-5, Uwe Fechner wrote: > > Any idea when the vectorization of 64 bit double values will be supported? > > (I work a lot with 3D double vectors, they could be calculated with one > command > in the Haswell CPU's. ) > > On Wednesday, September 17, 2014 4:48:26 PM UTC+2, Arch Robison wrote: >> >> There is support in LLVM 3.5 for remarks from the vectorizer, such as >> "vectorization is not beneficial and is not explicitly forced". I didn't >> see any remarks that explained the "why" in more detail, though that seems >> possible to improve since the vectorizer has debugging remarks that go into >> the "why" question (e.g. "LV: Not vectorizing: Cannot prove legality.") >> The hard part is coming up with messages that are understandable to >> non-experts and pertinent. Having too many messages can bury the useful >> ones. >> >> I opened issue #8392 <https://github.com/JuliaLang/julia/issues/8392> >> for the subject. >> >> On Wed, Sep 17, 2014 at 9:28 AM, Arch Robison <[email protected]> >> wrote: >> >>> Thanks. Now fixed. >>> >>> On Wed, Sep 17, 2014 at 4:14 AM, Gunnar Farnebäck <[email protected] >>> > wrote: >>> >>>> In the section "The Loop Body Should Be Straight-Line Code", the first >>>> and second code example look identical with ifelse constructions. I assume >>>> the first one should use ? instead. Also the third code example has a >>>> stray >>>> x[i]<a argument to the max function. >>>> >>> >>
