Replies: 10 comments
-
yeap, it has been a battle. I actually have not used |
Beta Was this translation helpful? Give feedback.
-
Ok, so is that possible to change the nonnull case branch to auto vectorized version? |
Beta Was this translation helpful? Give feedback.
-
it is faster; it is simpler => definitely :) |
Beta Was this translation helpful? Give feedback.
-
Hi, @jorgecarleitao . I have a question about the comptibility of vectorization here. Since there are many kinds of SIMD instruction sets(e.g. SSE, AVX, FMA), which are coupled with microarchitecture(e.g. Intel Skylake, AMD Zen2). If we only do simple cross compilation, that is, only specifying target architecture, we may not utilize with SIMD well. AFAIK, this issue is usually solved by function multiversioning. In C++ world, there are some approaches like GCC And I noticed that there is a Is it possible to support this in arrow2? |
Beta Was this translation helpful? Give feedback.
-
Hey @leiysky Yes, we use the See for an example here: |
Beta Was this translation helpful? Give feedback.
-
Nice! I only read the code here, and find there seems no special handling. https://github.com/jorgecarleitao/arrow2/blob/main/src/compute/arithmetics/basic/add.rs Sorry for my misunderstanding. |
Beta Was this translation helpful? Give feedback.
-
I had some doubt before, I think it may not work in the platform without |
Beta Was this translation helpful? Give feedback.
-
To utilize |
Beta Was this translation helpful? Give feedback.
-
Multiversioning allows you to define targets(e.g. |
Beta Was this translation helpful? Give feedback.
-
Rust can cross compile to a different target architecture if you like, but this code only generates it when compiling it for the specified target. E.g. |
Beta Was this translation helpful? Give feedback.
-
I found that if the primitive array has no null values, Auto vectorized can outperforms manual simds.
codes:
Currently I did not use Godbolt to see the assembly codes...
Beta Was this translation helpful? Give feedback.
All reactions